Avatar ·

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

Bonjour à tous ! Je viens de commencer à apprendre Java et j'écris des tests unitaires pour mon projet. J'ai une méthode qui doit lancer IllegalArgumentException si on lui passe des données invalides. Je veux écrire un test qui vérifie que l'exception est bien levée, mais je n'arrive pas à comprendre comment faire correctement. Voici un exemple de ma méthode : ```java public class Calculator { public int divide(int a, int b) { if (b == 0) { throw new IllegalArgumentException("Le diviseur ne peut pas être zéro"); } return a / b; } } ``` J'ai essayé d'écrire le test comme ça : ```java @Test public void testDivideByZero() { Calculator calc = new Calculator(); calc.divide(10, 0); // Ici, ça échoue simplement avec une exception } ``` Mais le test échoue avec une erreur au lieu de passer en vert. J'ai lu qu'on peut utiliser `@Test(expected = ...)`, mais je ne suis pas sûr que ce soit la meilleure façon. J'ai aussi vu des blocs try-catch dans les tests, mais ça semble lourd.