Насколько я знаю, чтобы пропустить тестовый пример, проще всего удалить аннотацию @Test
, но сделать это на большом количестве тестовых примеров громоздко. Мне было интересно, есть ли в JUnit аннотации, чтобы условно отключить несколько тестовых случаев.
Есть ли условная аннотация в JUnit, чтобы отметить несколько тестовых случаев, которые нужно пропустить?
Ответ 1
Трудно узнать, является ли это аннотацией @Ignore
, которую вы ищете, или если вы действительно хотите отключить определенные тесты JUnit условно. Отключение тестовых ящиков условно выполняется с помощью Assume
.
Вы можете прочитать о допущениях в примечания к выпуску для junit 4.5
Там также довольно хороший поток в стеке над потоком: Условно игнорирование тестов в JUnit 4
Ответ 2
Вы можете использовать аннотацию @Ignore
, которую вы можете добавить к одному тесту или тестовому классу, чтобы деактивировать его.
Если вам нужно что-то условное, вам придется создать собственный тестовый бегун, который вы можете зарегистрировать, используя
@RunWith(YourCustomTestRunner.class)
Вы можете использовать это, чтобы определить пользовательскую аннотацию, которая использует язык выражений, или ссылается на системное свойство, чтобы проверить, должен ли выполняться тест. Но такой зверь не существует из коробки.
Ответ 3
Как показывают другие люди, @Ignore игнорирует тест.
Если вы хотите что-то условное, чтобы посмотреть на предположения junit.
http://junit.sourceforge.net/javadoc/org/junit/Assume.html
Это работает, смотря на условие и только приступая к выполнению теста, если это условие выполнено. Если условие ложно, тест эффективно "игнорируется".
Если вы помещаете это в класс-помощник и вызываете его из нескольких своих тестов, вы можете эффективно использовать его так, как хотите. Надеюсь, что это поможет.
Ответ 4
Если вы используете JUnit 4.x, просто используйте @Ignore
. См. здесь