Если я @ игнорирую тестовый класс в JUnit4, будет ли @BeforeClass еще работать?

Краткая справка: я уже несколько дней выискиваю проблему с запуском тестов Maven / Surefire и сужу ее до небольшого числа подозреваемых в тестах. Поведение, которое я вижу,ненормальный, Я начинаю сmvn clean test: 250 тестов выполнено, 0 пропущено. Теперь я перенесу подозрительный тест вsrc/test/java и попробуйте еще раз: 146 тестов пройдено, 0 пропущено! Выход Maven даетнет Подсказка, что другие тесты не запускаются, даже если-X флаг.

Это подводит меня к моему вопросу: причина, по которой я называю тест «подозрительным», заключается в том, что весь класс украшен символом @Ignore, поэтому я мог бы предположить, что включение его в мои источники тестированиянет эффект на всех. Тогда мне пришло в голову - эти классы имеют методы @ BeforeClass / @ AfterClass, которыеуправлять фиктивным сервером Zookeeper, Раньше это приводило к шаткому поведению, поэтому у нас есть тесты @Ignored.

Если JUnit выполняет код до / после, но игнорирует тесты, я понятия не имею, что может произойти (но это, вероятно, будет очень плохо). Это происходит? Это должно случиться? Если так, как япредполагаемый сказать "для справки, вот тест, которыйдолжен работать, но нужно исправить ", когда он включает в себя @BeforeClass / @AfterClass? Также существенный интерес: что, черт возьми, это делает с Surefire / Maven, что он вызывает несвязанные тестыупасть с лица земли?

Ответы на вопрос(2)

Ваш ответ на вопрос