¿Cómo configuro el directorio de pruebas de Android?

La generación de gradles Android obliga a mis AndroidTests a estar en src / androidTests. ¿Cómo cambio esto para ser otro directorio de mi elección?

Aquí hay algunos antecedentes: Estoy migrando un proyecto de eclipse.

De acuerdo con la documentación de la compilación, cuando agrego esto a mi archivo de compilación de gradle:

androidTest.setRoot('tests') 

La compilación androide gradle hace lo siguiente: "Nota: setRoot () mueve todo el sourceSet (y sus subcarpetas) a una nueva carpeta, esto mueve src / androidTest / * a tests / *"

Eso es genial para la construcción y hace que funcione bien.

Sin embargo, obliga a mi estructura de proyecto a poner mi androidTests dentro: src / AndroidTest. Esto hace que Eclipse no pueda compilar porque piensa que todo el código de prueba debe estar en un paquete llamado androidTests.com.etc.etc.etc …

Me gustaría establecer una propiedad como esta:

 androidTest { java.srcDirs = ['tests'] } 

androidTest.setRoot('tests') restablecerá la raíz de los sourceSets para que

  • Java está en tests/java
  • Android res están en tests/res
  • Etc …

Puede configurarlos por separado aunque con

 android { sourceSets { androidTest { java.srcDirs = ['tests'] } } } 

Nota: esto usa android.sourceSets porque el complemento de Android utiliza fuentes personalizadas.

Hay pequeñas variaciones en cómo hacer esto. Poner lo siguiente en mi archivo build.gradle funcionó para mí:

 android { sourceSets { androidTest{ java.srcDir file('src/tests/java') } } } 
  • Manifiesto de Android vs Gradle Script
  • Importar fanfarronería en el proyecto existente en Android Studio
  • Dagger 2 no está generando mi clase de componente
  • Diferentes bibliotecas / importaciones dependiendo del tipo de construcción
  • La conexión de datos falla con NoSuchMethodError
  • Android Studio: Excepción de nivel superior inesperada (finalizada con valor de salida distinto de cero 2 ..)
  • Android ¿Cuál es la diferencia entre Android Support Repository vs Android Support Library vs Repositorio de Google vs Google Play Services
  • Cómo activar Jack (Java Android Compiler Kit) en el android studio
  • ¿Por qué necesitamos más de un manifiesto para el proyecto android?
  • Límite de métodos 64K por un archivo dex en Android
  • Android SDK sample + error "gradle build": org.gradle.api.tasks.TaskExecutionException: Error en la ejecución de la tarea
  • Interesting Posts
    FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.