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