使用IntelliJ IDEA 14.0.2,我导入了一个gradle java项目。我们设置了一个sourceSet和配置,以将集成测试与单元测试分开。(我们的集成测试位于测试源代码树中,但在它们自己的包中)。
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启动“test”任务而不是“integTest”任务。如何让IntelliJ启动正确的任务?
或者,我如何根据“--tests“参数的内容将测试任务委托给另一个任务?
3条答案
按热度按时间wnvonmuf1#
请遵循以下步骤:gradle设置〉Gradle〉Runner,然后选中将IDE构建/运行操作委托给gradle。
祝你好运!
vaj7vani2#
右键单击文件上的测试,您应该会看到
Create Run Configuration >
的菜单选项。在对话框中选择该选项,修改Tasks
选项。将其更改为integTest
,然后单击OK。此时,您可能必须使用菜单系统而不是上下文系统运行测试,例如Run > Run...
au9on6nz3#
我的解决方案是将IntelliJ配置为不使用Gradle作为测试运行器,而是使用内置的JUnit运行器执行测试。这只是IntelliJ IDEA中Gradle设置的一个配置选项。
详情请访问www.example.com。https://www.jetbrains.com/help/idea/gradle-settings.html#gradle_tests for details.