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?

Antworten auf die Frage(4)

Ihre Antwort auf die Frage