Я несколько раз несколько раз выполнял инструкции Java assert
, которые не сбой в наборе тестов JUnit, потому что утверждения не были включены в JUnit JVM-экземпляре. Чтобы быть ясными, это утверждения "черного ящика" внутри реализаций (проверка инвариантов и т.д.), А не утверждения, определенные самими тестами JUnit. Конечно, я бы хотел поймать любые подобные ошибки утверждения в тестовом наборе.
Очевидным решением является очень осторожное использование -enableassertions
всякий раз, когда я запускаю JUnit, но я бы предпочел более надежное решение. Один из вариантов заключается в добавлении следующего теста в каждый тестовый класс:
@Test(expected=AssertionError.class)
public void testAssertionsEnabled() {
assert(false);
}
Есть ли более автоматический способ сделать это? Конфигурация системы для JUnit? Динамический вызов, который я мог бы ввести в метод setUp()
?