Acabo de empezar a utilizar Robolectric y parece ser más o menos lo que necesito. Sin embargo, me he topado con un obstáculo con respecto al uso de SharedPreferences.Proporcionando datos de prueba para SharedPreferences para Robolectric
Tengo dos casos de prueba
Actividad espera un nuevo SharedPreferences/vacíos
Actividad espera SharedPreferences con algunos datos que ya
Para el caso de prueba 1, la las pruebas están pasando como se esperaba, así que todo bien :)
Sin embargo, para el Caso de prueba 2 parece que no puedo encontrar una buena manera de proporcionar a Robolectric algunos datos falsos, por lo que la actividad puede acceder a estos datos falsos.
Parece un caso de uso muy común, pero parece que no puedo entender cómo hacerlo.
1, esto me ayudó mucho! (el segundo funciona perfecto) Estoy usando esto para evitar iniciar tareas asíncronas en el modo de prueba estableciendo un booleano "is test mode" en las preferencias compartidas. – Jimmy
sugerencia: en el código bajo prueba que llama a getSharedPreferences, asegúrese de estar utilizando el contexto de la aplicación; de lo contrario, esto no funcionará. –
@Jimmy prefiero lograr esto mediante el uso de campos personalizados de configuración de compilación ver: http://michiganlabs.com/string-constants-generated-gradle-build-configurations – martyglaubitz