Wie überprüft man in JUnit, dass eine Methode eine bestimmte Exception wirft?
Hallo zusammen! Ich habe gerade angefangen, Java zu lernen, und schreibe Unit-Tests mit JUnit 4. Ich habe eine Methode, die bei ungültigen Eingabedaten eine IllegalArgumentException werfen soll. Zum Beispiel so eine Methode:
```java
public int divide(int a, int b) {
if (b == 0) {
throw new IllegalArgumentException("Der Divisor darf nicht null sein");
}
return a / b;
}
```
Ich möchte einen Test schreiben, der überprüft, dass bei Übergabe von b = 0 tatsächlich diese Exception geworfen wird. Ich habe es so versucht:
```java
@Test
public void testDivideByZero() {
Calculator calc = new Calculator();
calc.divide(10, 0); // erwarte Exception, aber der Test schlägt mit einem Fehler fehl
}
```
Aber der Test schlägt einfach mit der Exception fehl, und JUnit betrachtet das als Testfehler. Ich habe gehört, dass es einen `expected`-Parameter in der `@Test`-Annotation gibt und noch einige Regeln. Könnt ihr mir sagen, wie man so einen Test richtig schreibt? Wichtig ist, dass der Test grün wird, wenn die Exception geworfen wird, und fehlschlägt, wenn keine Exception kommt.