JUnit: Aktivieren Sie Zusicherungen in der getesteten Klasse
Ich bin ein paar Mal von Java gebissen wordenassert
Anweisungen, die in der JUnit-Testsuite nicht fehlgeschlagen sind, weil Zusicherungen in der JUnit-JVM-Instanz nicht aktiviert waren. Es handelt sich hierbei um "Black-Box" -Aussagen in Implementierungen (Überprüfung von Invarianten usw.), nicht um die von den JUnit-Tests selbst definierten Aussagen. Natürlich möchte ich solche Behauptungsfehler in der Testsuite auffangen.
Die naheliegende Lösung ist zu seinwirklich vorsichtig benutzen-enableassertions
Wenn ich JUnit ausführe, bevorzuge ich jedoch eine robustere Lösung. Eine Alternative besteht darin, jeder Testklasse den folgenden Test hinzuzufügen:
@Test(expected=AssertionError.class)
public void testAssertionsEnabled() {
assert(false);
}
Gibt es einen automatischeren Weg, um dies zu erreichen? Eine systemweite Konfigurationsmöglichkeit zu JUnit? Ein dynamischer Anruf, den ich in die setzen könntesetUp()
Methode?