我正在按照本教程将集成测试环境添加到我的Android项目。我有创建src/integrationTest/java
和src/integrationTest/resources
目录,然后将其添加到我的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可能的解决方案:名称
这是什么意思?我该如何解决?
谢谢
编辑
我刚尝试分别用android.sourceSets.main.output
和android.sourceSets.test.output
代替main.output
和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)在源集main上找不到属性“输出”。
解决了!实际上,这些行不必在源集配置中,而在运行集成测试的任务中。现在,我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
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句