我正在尝试在Android Studio 0.9中分离集成测试。
我已将以下内容添加到构建文件中:
sourceSets {
integrationTest {
java.srcDir file('src/integrationTest/java')
}
}
task integrationTest(type: Test) {
testClassesDir = sourceSets.integrationTest.output.classesDir
classpath = sourceSets.integrationTest.runtimeClasspath
}
我遇到了一些问题:
任务可以运行,但是缺少项目文件,所以会出现有关缺失类的错误。我发现了一些针对Java的解决方案,例如:
- http://selimober.com/blog/2014/01/24/separate-unit-and-integration-tests-using-gradle/
- https://blog.safaribooksonline.com/2013/08/22/gradle-test-organization/
但是我无法弄清楚如何在Android Studio中让它们起作用。尝试使用各种组合的
main
和main.output
,以及更改依赖关系,但似乎都不起作用,我会收到以下类型的错误:Error:(33, 0) Could not find property 'main' on SourceSet container..
这是有道理的,因为Android插件定义了自己的源集,但这些源集也不能正常工作。
IDE不将该目录识别为测试源目录。为了进行测试,我将源集名称更改为
androidTest
,然后它会正确显示绿色文件夹图标,并且测试会与已在androidTest
中定义的现有单元测试一起运行。
androidJavadocs
任务中。尝试使用该语法替换Java项目中看到的sourceSets.main.output
。 - Peter Ledbrook