Dans JUnit 5, affirmer qu'une méthode lève une exception est devenu plus flexible et efficace avec l'introduction du Méthode assertThrows(). Cette méthode élimine le besoin de l'approche fastidieuse de @Rule, en particulier lorsqu'il s'agit de plusieurs exceptions attendues au sein d'un seul test.
La méthode assertThrows() accepte plusieurs arguments :
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")); }
Dans cet exemple, le test attend la méthode doThing() pour lancer une MyException avec un message contenant "Stuff". Si l'exception n'est pas levée ou si le message ne correspond pas, le test échouera.
Par rapport à @Rule, assertThrows() offre plusieurs avantages :
La méthode assertThrows() de JUnit 5 offre aux développeurs un moyen concis et efficace d'affirmer le lancement d'exceptions dans leurs tests. En rationalisant le processus et en fournissant des messages d'erreur améliorés, assertThrows() rend les tests d'exceptions plus fiables et plus faciles à maintenir.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!