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").
- ¿Cómo puedo comprobar en Robotium que la aplicación ha terminado?
- IsolatedContext vs AndroidTestCase.getContext ()
- Prueba de GPS en Android
- Prueba de suscripción en Android: elemento no encontrado
- Cómo inyectar el evento de clic con Android UiAutomation.injectInputEvent
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?
- ¿Cómo forzar un cambio de orientación en una prueba de instrumentación de Android?
- ¿Cómo puedo ejecutar una sola prueba con gradle android
- Android en la aplicación de facturación sandbox
- ¿Pruebas beta de Google Play sin una aplicación publicada?
- Cómo detener una aplicación de Android desde la consola
- Optimizar el esfuerzo de prueba de Android
- Cómo generar html informe con gradle 1.12?
- Android en las pruebas de suscripción de aplicaciones
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
- ¿Es posible instalar java fx en un teléfono android?
- Gradle versión 1.8 es necesario. La versión actual es 1.9-rc-3 – Android Studio