Avatar ·

Comment vérifier dans JUnit qu'une méthode lève une exception spécifique ?

Bonjour à tous ! Je viens de commencer à apprendre Java et j'écris des tests unitaires avec JUnit 4. J'ai une méthode qui, pour des données d'entrée incorrectes, doit lancer une IllegalArgumentException. Par exemple, une méthode comme : ```java public int divide(int a, int b) { if (b == 0) { throw new IllegalArgumentException("Le diviseur ne peut pas être zéro"); } return a / b; } ``` Je veux écrire un test qui vérifie que lorsque b = 0, cette exception est bien levée. J'ai essayé de faire comme ça : ```java @Test public void testDivideByZero() { Calculator calc = new Calculator(); calc.divide(10, 0); // j'attends une exception, mais le test échoue avec une erreur } ``` Mais le test échoue simplement avec l'exception, et JUnit considère cela comme une erreur de test. J'ai entendu dire qu'il y a un paramètre `expected` dans l'annotation `@Test` et aussi quelques règles. Pouvez-vous me dire comment écrire correctement un tel test ? Il est important que le test passe au vert lorsque l'exception est levée, et échoue si l'exception n'est pas levée. Et