Ho un'app per Android che utilizza ORMLite/SQLite e uso Robolectric in combinazione con JUnit 4 per permettermi di eseguire i test di unità in Android Studio e su un server di build Jenkins.Come faccio a sapere se la mia app è in esecuzione con Robolectric?
In genere installavo i test nei miei test, nel setup, quindi eseguivo i miei scenari di test contro di esso ma quando ho provato a farlo ho iniziato a ricevere problemi ed eccezioni che sembravano essere legate a file bloccati o qualcosa del genere e questo sembra essere un problema che altri hanno avuto ... quindi quello che ho fatto fino ad ora è usare il metodo di creazione del database nel mio helper del database per creare alcuni dati fittizi che i test si aspettano di essere lì.
Il problema è che ora la mia applicazione deve collegarsi a un vero database e non posso averlo configurare i dati fittizi durante l'esecuzione.
Se esiste un modo, all'interno della classe helper del database, per rilevare se il codice è in esecuzione su un dispositivo o in Robolectric?
ho finito con una variazione su questo. Ho creato una classe helper di database alternativa nella sorgente di test che sovrascrive quella nella fonte principale. –
Probabilmente è meglio in realtà :) –