我在gradle项目中创建了另一个名为“integration-test”的源集。 Ewerything工作正常,但eclipse无法看到为此源集确定的依赖类。
subprojects {
apply plugin: 'java'
apply plugin: 'eclipse'
repositories {
mavenCentral()
}
sourceSets {
integrationTest {
java {
compileClasspath += main.output + test.output
runtimeClasspath += main.output + test.output
srcDir file('src/integration-test/java')
}
resources.srcDir file('src/integration-test/resources')
}
}
configurations {
integrationTestCompile.extendsFrom testCompile
integrationTestRuntime.extendsFrom testRuntime
}
dependencies {
testCompile 'junit:junit:4.12'
testCompile 'org.mockito:mockito-all:1.10.19'
integrationTestCompile 'org.springframework:spring-test:4.1.7.RELEASE'
compile 'org.springframework:spring-context:4.1.7.RELEASE'
compile 'org.springframework:spring-core:4.1.7.RELEASE'
}
task integrationTest(type: Test) {
testClassesDir = sourceSets.integrationTest.output.classesDir
classpath = sourceSets.integrationTest.runtimeClasspath
outputs.upToDateWhen { false }
}
check.dependsOn integrationTest
integrationTest.mustRunAfter test
version = '1.0'
}
当我通过命令“build gradle”构建这个项目时,项目正在构建,唯一的问题是eclipse。如果我将依赖'org.springframework:spring-test:4.1.7.RELEASE'从“integrationTestCompile”更改为“testCompile”,问题就消失了。
答案 0 :(得分:3)
回答你的问题有点晚了,但我刚刚找到了解决方法,因为我遇到了同样的问题。
添加:
eclipse {
classpath {
plusConfigurations.add configurations.integrationTestCompile
plusConfigurations.add configurations.integrationTestRuntime
}
}
到gradle文件解决了问题。我希望它能为你做同样的事。
答案 1 :(得分:0)
我发现一种对我来说非常有用的方法是这个测试集插件:https://plugins.gradle.org/plugin/org.unbroken-dome.test-sets
这使得向我的模块添加集成测试变得非常容易。它可以自动使用eclipse插件。