无法在单独的源集中配置gradle中的Spock测试
我一直在尝试在gradle项目中配置spock。因此,通过下面的配置,它可以工作 应用插件:“groovy” 我的测试用例位于文件夹无法在单独的源集中配置gradle中的Spock测试,gradle,groovy,spock,Gradle,Groovy,Spock,我一直在尝试在gradle项目中配置spock。因此,通过下面的配置,它可以工作 应用插件:“groovy” 我的测试用例位于文件夹src/test/groovy中。这很好。我能够运行测试用例 但是,我想将集成测试分离到一个单独的文件夹结构中-src/itest/groovy 为此,我添加了以下内容: sourceSets { itest { srcDir file('src/itest/groovy') } resourceDir .. compileClassPat
src/test/groovy
中。这很好。我能够运行测试用例
但是,我想将集成测试分离到一个单独的文件夹结构中-src/itest/groovy
为此,我添加了以下内容:
sourceSets {
itest {
srcDir file('src/itest/groovy')
}
resourceDir ..
compileClassPath ..
}
configurations {
itestCompile.extendsfrom testCompile
}
由于组织限制,我无法在这里复制整个代码。但我确实尝试了我能在网上得到的所有变体,但没有成功
我总是犯错误:
The task compileItestGroovy was not found in the project.
我做了一些研究,这个任务是由groovy插件默认添加的。仍然找不到任务,我的构建也处于不确定状态。如果你能帮我解决这个问题就太好了
这个项目还有其他插件,比如java,因为源代码是用java编写的
运行命令-./gradlew clean build
渐变版本-2.2.1
我用gradle 3.5版在我的家用电脑上尝试了类似的设置,效果很好 给定以下
build.gradle
文件:
apply plugin: 'groovy'
repositories {
jcenter()
}
sourceSets {
integration {
groovy {
compileClasspath += main.output
runtimeClasspath += main.output
srcDirs = ['src/integration/groovy']
}
resources.srcDir file('src/integration/resources')
}
}
configurations {
// By default, integration tests have the same dependencies as standard tests
integrationCompile.extendsFrom testCompile
integrationRuntime.extendsFrom testRuntime
}
dependencies {
compile 'org.codehaus.groovy:groovy-all:2.4.12'
testCompile 'org.spockframework:spock-core:1.0-groovy-2.4'
// This is only available for the integration tests
integrationCompile 'com.github.ben-manes.caffeine:caffeine:2.5.5'
}
tasks.create('integrationTest', Test) {
dependsOn 'compileIntegrationGroovy'
group = 'Verification'
description = 'Runs the integration tests'
// GRADLE 2.2
testClassesDir = sourceSets.integration.output.classesDir
// GRADLE 3.5
// testClassesDirs = sourceSets.integration.output.classesDirs
classpath = sourceSets.integration.runtimeClasspath
}
tasks.findByName('check').dependsOn 'integrationTest'
您应该能够在
src/integration/groovy
中粘贴集成测试,并且/gradlew check
将运行这两个标准测试,并且集成测试应该已经工作了。不过我也有同样的例外。我的项目使用Gradle2.2.1。不确定是否有什么事情是因为这个。我在3.5版中使用了类似的设置,效果很好。但是在这里,同样的例外,你为什么不在问题中提到这一点?你甚至不说你的例外是什么。你甚至没有说清楚你正在运行什么来获得神秘异常…@user3276247 Ok。我在2.2.1中尝试了上述方法,并对底部的测试任务进行了调整。。。祈祷