我想在我的集成测试中包含一个外部.jar。
它位于我的“lib”文件夹中,因此我添加了integrationTestCompile的依赖项,但是当我在集成测试中使用jar中包含的任何类时,Eclipse会抱怨。
这是我的build.gradle示例:
sourceSets {
main {
resources {
srcDir "src/main/resources"
}
}
test {
resources {
srcDir "src/test/java"
}
}
integrationTest {
java {
srcDir 'src/integrationTest/java'
}
resources {
srcDir 'src/integrationTest/resources'
}
compileClasspath += sourceSets.main.runtimeClasspath
}
}
task iTest(type: Test) {
testClassesDir = sourceSets.integrationTest.output.classesDir
classpath += sourceSets.integrationTest.runtimeClasspath
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
//Unit test dependencies
testCompile 'org.mockito:mockito-core:1.+'
testCompile 'junit:junit:4.12'
//Integration test dependencies
integrationTestCompile fileTree(dir: 'libs', include: ['*.jar'])
}
对此的任何想法都将受到赞赏。
答案 0 :(得分:1)
integrationTest
不是java插件添加的标准配置。这是插件添加的内容:
(Learn more about gradle java plugin here)
因此,除非您定义了自己的名为integrationTest的配置,否则只需将集成测试依赖项添加到testCompile
。
或者,您可以添加自己的配置:
configurations{
integrationTest
}
但是你仍然需要通过这样做将所有integrationTestCompile依赖项添加到testCompile:
testCompile.extendsFrom(integrationTestCompile)