In JUnit 5 ist die Behauptung, dass eine Methode eine Ausnahme auslöst, mit der Einführung von flexibler und effizienter geworden assetThrows()-Methode. Diese Methode macht den umständlichen @Rule-Ansatz überflüssig, insbesondere wenn es um mehrere erwartete Ausnahmen innerhalb eines einzelnen Tests geht.
Die Methode „assuertThrows()“ akzeptiert mehrere Argumente:
import static org.junit.jupiter.api.Assertions.assertThrows; @Test void exceptionTesting() { MyException thrown = assertThrows( MyException.class, () -> myObject.doThing(), "Expected doThing() to throw, but it didn't" ); assertTrue(thrown.getMessage().contains("Stuff")); }
In diesem Beispiel erwartet der Test doThing() Methode zum Auslösen einer MyException mit einer Nachricht, die „Stuff“ enthält. Wenn die Ausnahme nicht ausgelöst wird oder die Nachricht nicht übereinstimmt, schlägt der Test fehl.
Im Vergleich zu @Rule bietet AssertThrows() mehrere Vorteile:
Die BehauptungThrows()-Methode von JUnit 5 bietet Entwicklern eine präzise und effiziente Möglichkeit, das Auslösen von Ausnahmen in ihren Tests durchzusetzen. Durch die Rationalisierung des Prozesses und die Bereitstellung verbesserter Fehlermeldungen macht AssertThrows() Ausnahmetests zuverlässiger und wartbarer.
Das obige ist der detaillierte Inhalt vonWie vereinfacht „assertThrows()' von JUnit 5 das Testen von Ausnahmen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!