我有一个遵循标准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任务是因为文件不会自动复制,即使我对文档的解释是我实际上并不需要执行该任务。

谢谢你的帮助。

最佳答案

这实际上不是问题所在。尝试解决了一段时间后,我尝试进行清理并运行,并且可以正确地进行操作,由于某种原因,代码更改未被识别,并且没有重新构建内容。

10-08 03:28