我正在跟进this http://www.petrikainulainen.net/programming/gradle/getting-started-with-gradle-integration-testing/将集成测试环境添加到我的 Android 项目的教程。
我已经创建了src/integrationTest/java
and src/integrationTest/resources
dirs,然后我将其添加到我的build.gradle
:
sourceSets {
integrationTest {
java {
compileClasspath += main.output + test.output
runtimeClasspath += main.output + test.output
srcDir file('src/integrationTest/java')
}
resources.srcDir file('src/integrationTest/resources')
}
}
但是当我同步 Gradle 文件时,我收到此错误:
错误:(134, 0) 没有这样的属性:类的主要属性:
org.gradle.api.internal.file.DefaultSourceDirectorySet 可能
解决方案:名称
这是什么意思?我该如何解决?
Thanks
EDIT
我刚刚尝试过android.sourceSets.main.output
and android.sourceSets.test.output
代替main.output
and test.output
, 分别:
sourceSets {
integrationTest {
java {
compileClasspath += android.sourceSets.main.output + android.sourceSets.test.output
runtimeClasspath += android.sourceSets.main.output + android.sourceSets.test.output
srcDir file('src/integrationTest/java')
}
resources.srcDir file('src/integrationTest/resources')
}
}
现在我得到这个错误:
错误:(136, 0) 在源集主上找不到属性“输出”。
解决了!实际上,这些行不必位于源集配置中,而是位于运行集成测试的任务中。现在,我的build.gradle
好像:
sourceSets {
integrationTest {
java.srcDir file('src/integrationTest/java')
resources.srcDir file('src/integrationTest/resources')
}
}
configurations {
integrationTestCompile.extendsFrom testCompile
}
task integrationTest(type: Test) {
testClassesDir = sourceSets.integrationTest.output.classesDir
classpath = sourceSets.integrationTest.runtimeClasspath
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)