¿Cómo colocar los archivos de prueba de Android (instrumentación) fuera del directorio del proyecto?
Tengo un proyecto de Android (generado por Cordova) al que quiero agregar pruebas (de instrumentación). Solo tiene unoMainActivity.java
eso debería ser probado.
Normalmente esto significa agregar algunas dependencias abuild.gradle
y creando un archivo/src/androidTest/java/org/example/package/MainActivityTest.java
con unMainActivityTest
clase y algunos métodos de prueba. (En Android Studio, incluso puedo generarlos usando Ejecutar -> "Grabar prueba de expreso", así que es muy simple y funciona).
Desafortunadamente, ahora tengo el requisito de que esos archivos de prueba realmente vivanfuera de el directorio del proyecto Debería haber solo cambios mínimos en el proyecto Cordova existente (ya que se regenera y maneja como un artefacto de construcción). losMainActivity.java
sería mejor estar en la misma carpeta raíz donde se encuentra el proyecto de Android/android
.
¿Cómo puedo lograr eso?
losbuild.gradle
los cambios se pueden agregar a unbuild-extras.gradle
archivo que lo realbuild.gradle
ya incluye, por lo que esto se soluciona.
Pero no tengo idea de cómo colocar elMainActivityTest.java
fuera de la estructura de carpetas del proyecto y aún así poder ejecutarlo dentro del proyecto.
Para iOS, puede vincular archivos externos en el proyecto con rutas absolutas. Algo así sería perfecto aquí también.
MirésourceSets
pero no estoy seguro de cómo integrar esto en el proyecto de Android Cordova que ya tiene este no predeterminado (¿creo?)sourceSets
:
android {
sourceSets {
main {
manifest.srcFile 'AndroidManifest.xml'
java.srcDirs = ['src']
resources.srcDirs = ['src']
aidl.srcDirs = ['src']
renderscript.srcDirs = ['src']
res.srcDirs = ['res']
assets.srcDirs = ['assets']
jniLibs.srcDirs = ['libs']
}
}
...
}