Игнорирование тестов

Иногда хочется взять и пропустить тот или иной юнит-тест, который всё время проваливается. Можно, конечно, его закоментировать, но это не так удобно. Во-первых, закомментированный тест перестанет компилироваться и, если когда Ваш код сильно изменится, вернуть тест к жизни будет сложнее. Во-вторых, про этот тест скорей всего забудут и он уже никогда не раскомментируется.

JUnit предлагает более изящный подход к пропуску тестов — игнорирование тестов с помощью специальной аннотации.

@Ignore

Возьмём пример основной функциональности JUnit  и запретим исполнение одного из тестов:

Немедленно протестируем:

Суммарное число тесто не изменилось, но один тест было пропущен: «Skipped: 1». В аннотацию @Ignore можно написать опциональный комментарий. К сожалению, maven не выводит эти комментарии, но, например, при исполнении в какой-либо среде разработки можно увидеть такое:

ignored_test

 

Don’t ignore

@Ignore позволяет пропустить провалившийся тест и сделать вид что всё хорошо. Не делайте так. Если тест провалился, это означает что поведение вашего кода изменилось. А это значит, что всё, что с этим кодом работает, оказалось в опасности.

Если тест провалился, лучше пойдите и исправьте код, который его проваливает. Если изменение поведения и было целью изменения кода — исправляйте тест. Но не игнорируйте его и уж тем более не комментируйте.