Ответ 1
В документации задачи объясняется это, пример и все:
apply plugin: 'java' // adds 'test' task
test {
// ...
// explicitly include or exclude tests
include 'org/foo/**'
exclude 'org/boo/**'
// ...
}
Моя папка src/test/
включает как единичные, так и функциональные тесты. Класс path функциональных тестов имеет слово cucumber
, тогда как в модульных тестах нет. Итак, как я могу запустить только модульные тесты?
Большое спасибо.
P.S.. Я знаю, что для выбора тестов легко использовать логику "включить". Например, чтобы запустить только функциональные тесты в моем случае, я могу просто использовать это приложение
./gradlew test -Dtest.single=cucumber/**/
Однако я не знаю, как легко исключить тесты.
Кстати, я использую gradle 1.11.
В документации задачи объясняется это, пример и все:
apply plugin: 'java' // adds 'test' task
test {
// ...
// explicitly include or exclude tests
include 'org/foo/**'
exclude 'org/boo/**'
// ...
}
Кредит. Этот ответ вдохновлен ответом JB Nizet. Он опубликован, потому что он более прямо связан с моим вопросом.
Для запуска только модульных тестов создайте новую задачу следующим образом:
task unitTest( type: Test ) {
exclude '**/cucumber/**'
}
Таким образом мы имеем:
выполните все тесты: ./gradlew test
выполните все модульные тесты: ./gradlew unitTest
выполните все функциональные тесты: ./gradlew test -Dtest.single=cucumber/**/
Вы можете исключить это на основе внешних системных свойств.
-Dtest.profile=integration
и в build.gradle
test {
if (System.properties['test.profile'] != 'integration') {
exclude '**/*integrationTests*'
}
}