2016-09-06 3 views
-1

В настоящее время я работаю над испытаниями на селен с помощью Gradle (groovy), Gebish и jUnit4.Пропустить некоторые тесты в зависимости от параметров

В моем gradle.build У меня есть переменные для тестовой среды (локального сервера или живого и доменного имени).

Теперь я хочу, чтобы не все тесты выполнялись в каждом случае. Например, я хочу, чтобы TestA и TestB запускались с доменом abc.com, и только TestA и TestC запускались с доменом def.com

Для этого я создал глобальный класс конфигурации, где я получаю информацию, для которой класс будет разрешен.

Моя идея запускается перед началом каждого метода и проверяется, разрешен ли класс, но я не знаю, как пропустить после @ раньше. Есть ли простой способ для этого? Можно ли использовать что-то вроде System.exit (0), чтобы просто выйти из тестового класса, а не всего теста?

ответ

2

Вы можете использовать методы org.junit.Assume. Они подобны методам в org.junit.Assert, но они не подведут тест, как те, но пропустят их при ошибке. Этот метод можно использовать, если вы хотите поместить этот управляющий код внутри классов тестов.

Помимо этого вы также можете использовать категории JUnit для маркировки теста или тестового класса как «запускать против» и/или «запускать против b», а затем принять решение о том, какие категории будут выполняться в вашем файле Gradle.

Разница между этими двумя подходами - помимо того, где размещается код решения - заключается в том, что при первом решении вы пропускаете пропущенные тесты как «проигнорированные» или «пропущенные» в отчете об испытаниях, а во втором - тесты, принадлежащие указанным категориям, запускаются и, таким образом, показаны в отчете об испытаниях.

+0

Спасибо, я использую @before и takeTrue (false) сейчас для пропуска теста, и он отлично работает :) –

Смежные вопросы