Agregar recursos de diseño a androidTest
resources android-resources (2)
¡Eso es fácil! En general, solo debe colocar sus recursos en la carpeta src/androidTest/res
. ¡Y eso es! Luego puede usarlo en sus archivos src/androidTest/java
. Sí, no puede usar diseños de prueba en su APK de producción, pero puede usar los diseños de prueba en su APK de prueba .
Hay algunos problemas que pueden confundirte. Por ejemplo, el autocompletado funciona bien no muy a menudo, pero, de todos modos, se construye y funciona.
Recientemente escribí control personalizado para EditText enmascarado, por lo que no quiero poner ninguna actividad en la biblioteca, pero sí quiero tener una actividad para verificar la vista y quiero inflarlo desde XML. Puedes ver el código completo en la página de Github, aquí hay algunos momentos clave:
$ tree androidTest/
androidTest/
├── AndroidManifest.xml
├── java
│ └── ru
│ └── egslava
│ └── lib_phone
│ ├── MainActivityTest.java
│ ├── TestActivity.java
│ └── actions
│ ├── HintViewAction.java
│ ├── KeepHintViewAction.java
│ └── SetTextViewAction.java
└── res
├── layout
│ └── activity_main.xml
└── values
└── styles.xml
Así que pueden ver, que bajo androidtest hay algún tipo de proyecto separado con su propio manifiesto que registra actividad y cosas así :-) Compartiría más archivos, pero es solo un proyecto, no más y siempre se puede buscar el enlace .
Lo único que me gustaría advertirte es que deberías estar preparado para que Android Studio te muestre que tu proyecto contiene errores, incluso si eso no es cierto :-) ¡Buena suerte!
Me gustaría agregar archivos xml de diseño en mi carpeta androidTest
para usarlos solo para probar.
androidTest
carpeta res/layout
a androidTest
e intenté agregarle un archivo de diseño. Pero da error URI is not registered
para xmlns:android="http://schemas.android.com/apk/res/android"
De alguna manera, el proyecto no lo reconoce como un archivo de diseño válido.
Es complicado agregar recursos xml a androidTest
.
Las pruebas de Instrumentación de Android crean otra APK para ejecutar las pruebas en su aplicación original. Aunque puede acceder a su Context
y objetos desde su aplicación principal, no puede modificar el archivo APK generado de su aplicación.
Eso significa que no puede poner xml de diseño adicional a su aplicación original a partir de las pruebas que se encuentran en la carpeta androidTest
.
Solución:
Alternativamente,
- puedes crear un
buildType
llamadoespresso
. - Luego, crea una carpeta de
espresso
donde puedes poner cualquier recurso de Java o Android que quieras agregar.- Incluso puede modificar su
AndroidManifest
allí.
- Incluso puede modificar su
- Luego, use
testBuildType ''espresso''
Tu build.gradle
debería verse así:
android {
testBuildType ''espresso''
buildTypes {
espresso.initWith(buildTypes.release)
}
}
dependencies {
espressoCompile ''somedependency'' // you can even have special dependencies
}
Cuando ejecute sus pruebas de expreso alrededor de ese sabor, tendrá acceso a los archivos xml de diseño adicionales que haya agregado.
Debería verse así: