Подтвердить что ты не робот

Есть ли условная аннотация в JUnit, чтобы отметить несколько тестовых случаев, которые нужно пропустить?

Насколько я знаю, чтобы пропустить тестовый пример, проще всего удалить аннотацию @Test, но сделать это на большом количестве тестовых примеров громоздко. Мне было интересно, есть ли в JUnit аннотации, чтобы условно отключить несколько тестовых случаев.

4b9b3361

Ответ 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. См. здесь