Uso de activos en pruebas roboeléctricas

En mis pruebas roboeléctricas estoy tratando de leer un archivo. Dado que este archivo contiene sólo los datos de prueba que he puesto en los activos de las pruebas.

La estructura de directorios se parece a esto.
src/main/assets/prod_data_file
src/test/assets/test_data_file

Sin embargo, cuando intento leer el archivo por getShadowApplication().getAssets().open(MY_FILE_PATH) me da FileNotFoundException .

Sabe alguien cómo arreglar esto?

Dado que mis pruebas son sólo la lectura de estos archivos y la devolución de datos de archivo como una String que era capaz de hacerlo a través de getClass().getClassLoader().getResourceAsStream(MY_FILE_PATH) y luego leer el archivo. Realmente no necesitas leer para usar getShadowApplication().getAssets().open(MY_FILE_PATH) .

Acabo de mover mis archivos de datos de prueba a src/test/resources y funcionó. 🙂

Yo era capaz de hacerlo así:

1) Copiar (o crear) AndroidManifest.xml en la carpeta de prueba

2) Añada @Config(emulateSdk = 18, manifest = "src/test/AndroidManifest.xml") para esta prueba específica

Pude leer el archivo. Así que significa que puedes jugar con la clase AndroidManifest y el corredor personalizado (más inspiración aquí https://groups.google.com/forum/#!topic/robolectric/YvbdqRFcdnA )

Creo que también podría ser posible jugar con build.gradle :

 android { sourceSets { androidTest.setRoot( 'src/test' ) androidTest { assets.srcDir file( 'src/test/assets' ) } } } 

Pero no estoy seguro ya que el complemento no crea ninguna variante de compilación, sino sólo tareas.

  • ¿Es posible probar una actividad abstracta con Robolectric
  • Algunas pruebas Robolectric fallan cuando funcionan todas juntas pero pasan individualmente
  • Prueba de tareas asíncronas con robolectric
  • Uso de Espresso 2.0 + Roboeléctrico en un proyecto de Android
  • Android / Robolectric frame work - La actividad instanciada devuelve null en getResource
  • Obtener cadenas en todos los idiomas en Robolectric
  • Robolectric: ejecute el looper del manipulador en mi caso
  • Cómo escribir la prueba de Robolectric (2.3) usando la base de datos
  • NoClassDefFoundError: org / json / JSONException - Android Roboelectric con gradle
  • ¿Por qué se realiza la primera prueba con Robolectric tomando tanto tiempo?
  • ¿Cómo probar la clase de aplicación con Robolectric?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.