我正在尝试使用 gradle 的 -Dtest.single
标志运行单个集成测试。我添加了另一个源集 src/integrationTest
并将测试放在那里。我有一个集成测试任务
task integrationTests(type: Test) {
dependsOn 'assemble', 'integrationTestClasses'
testClassesDir = sourceSets.integrationTest.output.classesDir
classpath = sourceSets.integrationTest.runtimeClasspath
}
这运行良好,但如果我尝试运行单个测试,它会告诉我找不到匹配的测试。我不想在每次编写新测试时都运行所有集成测试。有办法做到这一点吗?
最佳答案
从 Gradle 1.10 开始你可以这样写:
//select specific test method
gradle test --tests org.gradle.SomeTest.someFeature
//select specific test class
gradle test --tests org.gradle.SomeTest
//select all tests from package
gradle test --tests org.gradle.internal*
//select all ui test methods from integration tests by naming convention
gradle test --tests *IntegTest*ui*
//selecting tests from different test tasks
gradle test --tests *UiTest integTest --tests *WebTest*ui
在这里阅读更多 http://www.gradle.org/docs/1.10/release-notes#executing-specific-tests-from-the-command-line
关于testing - 使用 gradle 运行单个集成测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18061774/