Außergewöhnliche Ausnahmebehauptungen in JUnit 5
In JUnit 5 wurde die Behauptung, dass eine Methode eine Ausnahme auslöst, durch die Einführung von AssertThrows( ). Diese Methode bietet eine präzisere und bequemere Möglichkeit, das Ausnahmeverhalten zu überprüfen, insbesondere wenn mehrere Ausnahmen innerhalb desselben Tests erwartet werden.
Zuvor verließen sich Entwickler auf die @Rule-Annotation, um nach Ausnahmen zu suchen, dieser Ansatz hatte jedoch Einschränkungen wenn mehrere Ausnahmen beteiligt waren. „asserThrows()“ hingegen ermöglicht flexible und anpassbare Ausnahmetests.
Durch die Nutzung von Java 8-Lambdas ermöglicht „asserThrows()“ Entwicklern das Schreiben prägnanter und aussagekräftiger Testaussagen:
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 wird AssertThrows() verwendet, um zu prüfen, ob die Methode doThing() beim Aufruf eine MyException auslöst. Der als zweites Argument übergebene Lambda-Ausdruck definiert den Code, der die Ausnahme auslösen soll. Das dritte Argument stellt eine optionale Meldung bereit, die angezeigt wird, falls die Behauptung fehlschlägt.
Durch die Verwendung von affirmThrows() können Entwickler ihren Ausnahmetestcode optimieren, problemlos mehrere Ausnahmen innerhalb eines einzigen Tests geltend machen und klare und informative Bereitstellungen bereitstellen Fehlermeldungen, wenn Behauptungen fehlschlagen.
Das obige ist der detaillierte Inhalt vonWie vereinfacht „assertThrows()' von JUnit 5 das Testen von Ausnahmezusicherungen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!