【发布时间】:2014-12-28 22:20:51
【问题描述】:
我正在尝试在 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中已经定义的现有单元测试一起运行。
【问题讨论】:
-
你有没有让这个工作?即使在点击链接后,我也收到了类似的 java 错误和 test class not found 错误。
-
最后我无法让它们以令人满意的方式作为单独的测试套件工作,我只使用了一个测试套件。
-
感谢您的更新。我根本无法在我的 SDK 模块中执行测试。有什么我想念的吗。我试图执行一个测试,但我不断收到 class not found 错误。
-
我刚刚添加了一个额外的源目录,这是我的构建文件:github.com/Philio/disqus-android/blob/master/disqus/…
-
@Philio 你搞定了吗?如果是这样,请发布您的答案。
标签: android unit-testing gradle android-studio integration-testing