使用IntelliJ IDEA 14.0.2,我导入了一个gradle java项目。我们已经设置了一个sourceSet和配置来将集成测试与单元测试分开。 (我们的集成测试在测试源代码树中,但在他们自己的包中)。 build.gradle中的相关位是:
sourceSets {
test {
java {
exclude '**/it/**'
}
}
integTest {
java {
srcDir 'src/test/java'
include '**/it/**'
}
resources {
srcDir 'src/test/resources'
}
compileClasspath += sourceSets.main.output + sourceSets.test.output + configurations.testRuntime
runtimeClasspath += sourceSets.main.output + sourceSets.test.output + configurations.testRuntime
}
}
configurations {
integTestCompile.extendsFrom testCompile
integTestRuntime.extendsFrom testRuntime
}
idea {
module {
scopes.TEST.plus += [ configurations.integTestCompile ]
}
}
task integTest(type: Test) {
testClassesDir = sourceSets.integTest.output.classesDir
classpath = sourceSets.integTest.runtimeClasspath
}
从命令行可以正常工作。但是当我在IntelliJ中打开集成测试的源代码并右键单击以运行它时,IntelliJ会启动"测试"任务而不是" integTest"任务。如何让IntelliJ启动正确的任务?
或者,如何根据" - 测试"的内容使测试任务委托给另一个任务。 ARG?
答案 0 :(得分:0)
右键单击文件上的测试,您会看到Create Run Configuration >
的菜单选项。在对话框中选择一个,修改Tasks
选项。将其更改为integTest
,然后单击“确定”。从那时起,您可能必须使用菜单系统而不是上下文系统来运行测试。即Run > Run...
答案 1 :(得分:0)
遵循此步骤:gradle设置> Gradle> Runner并选中“委托IDE生成/运行操作”以进行gradle。然后申请,确定。
祝你好运!