Separar las pruebas de integración de las pruebas unitarias en Android Studio
Estoy tratando de separar las pruebas de integración en Android Studio 0.9.
He agregado lo siguiente al archivo de compilación:
sourceSets {
integrationTest {
java.srcDir file('src/integrationTest/java')
}
}
task integrationTest(type: Test) {
testClassesDir = sourceSets.integrationTest.output.classesDir
classpath = sourceSets.integrationTest.runtimeClasspath
}
Me he encontrado con un par de problemas:
La tarea se ejecutará pero no tiene el resto de los archivos del proyecto disponibles, así que obtengo errores sobre las clases faltantes. Hay algunas soluciones específicas de Java que he encontrado, tales como:
http://selimober.com/blog/2014/01/24/separate-unit-and-integration-tests-using-gradle/https://blog.safaribooksonline.com/2013/08/22/gradle-test-organization/Pero no he podido averiguar cómo hacer que esto funcione con Android Studio. Varias combinaciones demain
ymain.output
y jugar con dependencias no parece funcionar, obtengo errores como:
Error:(33, 0) Could not find property 'main' on SourceSet container..
Lo que tiene sentido ya que el complemento de Android define sus propios conjuntos de fuentes, pero tampoco funcionan.
El IDE no reconoce el directorio como un directorio de origen de prueba. Para fines de prueba, cambié el nombre del conjunto de origen aandroidTest
y obtiene correctamente el icono de carpeta verde y las pruebas se ejecutan junto con las pruebas unitarias existentes que ya están definidas enandroidTest
.