Appena iniziato a utilizzare Robolectric e sembra essere praticamente ciò di cui ho bisogno. Tuttavia, ho colpito un po 'di un blocco stradale per quanto riguarda l'uso di SharedPreferences.Fornire dati di test per SharedPreferences per Robolectric
Ho due casi test
attività si aspetta un nuovo sharedPreferences/vuoti
Attività aspetta sharedPreferences con alcuni dati in esso già
Per Test Case 1, il i test stanno passando come previsto, quindi tutto bene :)
Tuttavia, per il Test Case 2 non riesco a trovare un buon modo per fornire a Robolectric dati falsi, quindi l'Activity è in grado di accedere a questi dati falsi.
Sembra un caso d'uso molto comune, ma non riesco a capire come farlo!
+1, questo mi ha aiutato un sacco! (il secondo funziona perfettamente). Lo sto usando per evitare di avviare compiti asincroni in modalità test impostando un metodo boolean "is test mode" sui prefs condivisi. – Jimmy
suggerimento: nel codice in prova che chiama getSharedPreferences, assicurati di utilizzare il contesto dell'applicazione, altrimenti non funzionerà. –
@Jimmy preferirei farlo usando i campi di configurazione custom build: http://michiganlabs.com/string-constants-generated-gradle-build-configurations – martyglaubitz