Separando testes de integração de testes de unidade no Android Studio
Estou tentando separar os testes de integração no Android Studio 0.9.
Eu adicionei o seguinte ao arquivo de compilação:
sourceSets {
integrationTest {
java.srcDir file('src/integrationTest/java')
}
}
task integrationTest(type: Test) {
testClassesDir = sourceSets.integrationTest.output.classesDir
classpath = sourceSets.integrationTest.runtimeClasspath
}
Eu já tive alguns problemas:
A tarefa será executada, mas não há o restante dos arquivos do projeto disponíveis, então eu recebo erros sobre a falta de classes. Encontrei algumas soluções específicas para Java, 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/Mas não consegui descobrir como fazer isso funcionar com o Android Studio. Várias combinações demain
emain.output
e brincar com dependências não parece funcionar, eu recebo erros como:
Error:(33, 0) Could not find property 'main' on SourceSet container..
O que faz sentido, pois o plugin do Android define seus próprios conjuntos de fontes, mas eles também não funcionam.
O IDE não reconhece o diretório como um diretório de origem de teste. Para fins de teste, alterei o nome do conjunto de fontes paraandroidTest
e ele obtém corretamente o ícone da pasta verde e os testes são executados juntamente com os testes de unidade existentes que já estão definidos emandroidTest
.