Выбор конкретных тестов для запуска в gradle

Я пытаюсь исправить наши грязные неудачные тестовые прогоны и, к сожалению, я очень новичок в gradle. В настоящее время у меня есть testng, junit, и я бы хотел добавить некоторые тесты для тестирования. Я не совсем уверен, как gradle определяет, какие тесты следует запускать при вводе "gradle test". Как я могу предотвратить запуск тестов testng &/или junit? Как я могу получить gradle, чтобы начать выполнение тестов на спок?

Ответ 1

По умолчанию задача test запускает все тесты JUnit, которые она может найти, включая любые тесты Spock. Чтобы вместо этого выполнить тесты TestNG, настройте задачу следующим образом:

test {
    useTestNG()
}

Если у вас есть тесты JUnit и TestNG, вам нужны две тестовые задачи: по одной для каждой тестовой среды.

Чтобы запустить подмножество тестов, используйте системное свойство -Dtest.single. Для получения дополнительной информации см. Соответствующий раздел в Gradle Руководство пользователя.

Ответ 2

$> gradle test -Dtest.single=YourTestClass

Ответ 3

Вы можете указать в командной строке:

$> gradle test --tests org.somewhere.MyTestClass

Или даже

$> gradle test --tests org.somewhere.MyTestClass.my_test_case