Ответ 1
Правильный синтаксис:
gradle testTaskName -DtestTaskName.single=...
В этом случае:
gradle integrationTest -DintegrationTest.single=...
Я пытаюсь выполнить единые интеграционные тесты, используя флаг gradle -Dtest.single
. Я добавил еще один набор источников, src/integrationTest
и поставил там тесты. У меня есть задача тестирования интеграции
task integrationTests(type: Test) {
dependsOn 'assemble', 'integrationTestClasses'
testClassesDir = sourceSets.integrationTest.output.classesDir
classpath = sourceSets.integrationTest.runtimeClasspath
}
Это работает нормально, но если я пытаюсь запустить один тест, он говорит мне, что не может найти соответствующий тест. Я не хочу запускать каждый интеграционный тест каждый раз, когда я пишу новый. Есть ли способ сделать это?
Правильный синтаксис:
gradle testTaskName -DtestTaskName.single=...
В этом случае:
gradle integrationTest -DintegrationTest.single=...
Так как 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