Gradle 运行 来自不同模块的 Spock 集成测试
Gradle running Spock integration test from a different module
我在另一个模块中进行了集成测试,但是我只有一个 gradle.build 文件。
当我 运行 gradle clean integrationTest
我得到以下错误
Task :integrationTest NO-SOURCE
Skipping task ':integrationTest' as it has no source files and no previous output files.
在日志中,我看到以下内容:
file or directory '<MyPath>/MyService/src/integrationTest/groovy'', not found
但是路径应该是<MyPath>/MyService/integrationTest/src/test/groovy
我的 gradle.build 文件有以下内容:
sourceSets {
integrationTest {
groovy {
srcDir 'integration-test/src/test/groovy'
}
resources {
srcDir 'integration-test/src/test/resources'
}
}
}
task integrationTest(type: Test) {
testClassesDir = sourceSets.integrationTest.output.classesDir
classpath = sourceSets.integrationTest.runtimeClasspath
}
表格srcDir(<path>)
附加另一个源路径。所以Gradle还是会在src/integrationTest/groovy中搜索,也就是常规路径。
如果要替换约定,请使用
sourceSets {
integrationTest {
groovy {
srcDirs = [file('integration-test/src/test/groovy')] as Set
}
resources {
srcDirs = [file('integration-test/src/test/resources')] as Set
}
}
}
但是,没有必要删除常规路径。我想知道你的路径是否正确,因为你在 post 中说路径应该包括 'integrationTest',但你在示例代码中指定了 'integration-test'。
我在另一个模块中进行了集成测试,但是我只有一个 gradle.build 文件。
当我 运行 gradle clean integrationTest
我得到以下错误
Task :integrationTest NO-SOURCE
Skipping task ':integrationTest' as it has no source files and no previous output files.
在日志中,我看到以下内容:
file or directory '<MyPath>/MyService/src/integrationTest/groovy'', not found
但是路径应该是<MyPath>/MyService/integrationTest/src/test/groovy
我的 gradle.build 文件有以下内容:
sourceSets {
integrationTest {
groovy {
srcDir 'integration-test/src/test/groovy'
}
resources {
srcDir 'integration-test/src/test/resources'
}
}
}
task integrationTest(type: Test) {
testClassesDir = sourceSets.integrationTest.output.classesDir
classpath = sourceSets.integrationTest.runtimeClasspath
}
表格srcDir(<path>)
附加另一个源路径。所以Gradle还是会在src/integrationTest/groovy中搜索,也就是常规路径。
如果要替换约定,请使用
sourceSets {
integrationTest {
groovy {
srcDirs = [file('integration-test/src/test/groovy')] as Set
}
resources {
srcDirs = [file('integration-test/src/test/resources')] as Set
}
}
}
但是,没有必要删除常规路径。我想知道你的路径是否正确,因为你在 post 中说路径应该包括 'integrationTest',但你在示例代码中指定了 'integration-test'。