我有一个遵循标准src / main和src / test模式的Java项目,拉入Java插件并且运行正常,除了我在那里有一些非常长的运行测试,我希望将其引入到integTest sourceSet中,无论如何,它们都是集成测试。
我发现了一篇有趣的文章提出了一种方法来实现这一点,所以遵循该结构,一切正常,除了我的资源(spring config)在我运行新任务时无法看到。我对build.gradle的补充如下:
sourceSets {
integTest {
java.srcDir file('src/integTest/java')
resources.srcDir file('src/integTest/resources')
}
}
task integTest(type: Test) {
testClassesDir = sourceSets.integTest.output.classesDir
classpath = sourceSets.integTest.runtimeClasspath
}
task integProcessResources(type: Copy){
from sourceSets.integTest.resources
into sourceSets.integTest.output.resourcesDir
}
tasks.integTest.dependsOn('integProcessResources')
dependencies {
integTestCompile sourceSets.main.output
integTestCompile configurations.testCompile
integTestCompile sourceSets.test.output
integTestRuntime configurations.testRuntime
}
任何人都可以看到任何明显错过或错误添加的内容吗?我添加了integProcessResources任务,因为文件没有被自动复制,即使我对文档的解释是我真的不需要执行该任务。
感谢您的帮助。
答案 0 :(得分:0)
这实际上是不是问题。在尝试了一段时间来解决这个问题之后,我尝试了一个干净的运行并且它正在正确地进行拾取,由于某种原因,代码更改没有被识别,并且没有重建东西。