Carpeta de activos en Android Studio Unit Test

Tengo un proyecto de Gradle con la siguiente estructura:

project/ src/ androidTest/ java/ main/ java/ res/ AndroidManifest.xml build.gradle 

Ahora quiero añadir una prueba de unidad que utiliza un recurso (ya sea "raw" o "activo").

project/androidTest/assets/test_file mi recurso en el project/androidTest/assets/test_file y lo getContext().getResources().getAssets().open("test_file"); con getContext().getResources().getAssets().open("test_file"); (En una AndroidTestCase ).

Sin embargo, esto me da una FileNotFoundException . ¿Cómo puedo arreglar esto?

Parece que estás intentando crear una prueba de unidad instrumentada, ya que quieres crearla en la carpeta androidTest.

Puede utilizar una de estas dos líneas en su prueba para obtener el contexto:

  • Context ctx = InstrumentationRegistry.getTargetContext(); Éste le dará el contexto de su aplicación. Puede usarlo para capturar activos que están en src / main / assets por ejemplo.

  • Context ctx = InstrumentationRegistry.getContext(); Éste le dará el contexto de la aplicación de prueba. Puede usarlo para capturar activos que están en src / androidTest / assets

Si desea saber más sobre los activos en las pruebas de unidad, puede leer esta publicación. En este archivo github tienes un ejemplo.

Creo que usas el contexto incorrecto (el contexto de la aplicación y no el contexto de la instrumentación):

 getInstrumentation().getContext(); 

O vea aquí donde exactamente hago lo que quiere hacer: https://github.com/ligi/gobandroid/blob/master/android/src/androidTest/java/org/ligi/gobandroidhd/base/AssetAwareInstrumentationTestCase.java

  • ClassNotFoundException durante el instrumento de prueba de Android
  • Java.lang.RuntimeException: ¡Stub! - ¿Cobertura de código de Android?
  • Prueba de AdMob antes de publicar
  • Prueba de un servicio de accesibilidad de Android?
  • Prueba onActivityResult ()
  • ¿Cómo puedo ejecutar el código en el hilo de la interfaz de usuario en una prueba de Android JUnit sin una actividad?
  • Problema con Android IAP, sin OrderID en el objeto de compra
  • Prueba de Android fuera del espacio de almacenamiento
  • Uso de la actividad de no producción para probar con Android Studio
  • ¿Cómo probar la función de sincronización de ejecución en android?
  • Pruebas de facturación en la aplicación con cuentas de prueba
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.