Wie man richtig prüft, dass eine Methode eine bestimmte Exception in JUnit wirft
Hallo zusammen! Ich habe gerade angefangen, Java zu lernen, und schreibe Unit-Tests für mein Projekt. Ich habe eine Methode, die eine IllegalArgumentException werfen soll, wenn ihr ungültige Daten übergeben werden. Ich möchte einen Test schreiben, der prüft, ob die Exception tatsächlich geworfen wird, aber ich verstehe nicht, wie ich das richtig machen soll.
Hier ist ein Beispiel meiner Methode:
```java
public class Calculator {
public int divide(int a, int b) {
if (b == 0) {
throw new IllegalArgumentException("Der Divisor darf nicht null sein");
}
return a / b;
}
}
```
Ich habe versucht, den Test so zu schreiben:
```java
@Test
public void testDivideByZero() {
Calculator calc = new Calculator();
calc.divide(10, 0); // Hier stürzt es einfach mit einer Exception ab
}
```
Aber der Test schlägt fehl, anstatt grün zu werden. Ich habe gelesen, dass man `@Test(expected = ...)` verwenden kann, bin mir aber nicht sicher, ob das der beste Weg ist. Ich habe auch try-catch-Blöcke in Tests gesehen, aber das sieht umständlich aus.
Noch keine Antworten.
Anmelden um eine Antwort zu hinterlassen