Ich verwendet JUnit (4) um meinen Quellcode zu testen. Wenn ein Code eine Exception wirft, die von java.lang.Exception erbt, kann ich das gut testen mit
Und alles ist fein. Genauso kann ich es auch mit einer java.lang.RuntimeException machen:
Nun möchte ich aber nach dem Test der Exception auch noch die Ausgaben, die davor in
stattfanden testen. Dafür würde ich ihm gern sagen, dass das werfen der Exception in Ordnung ist, er aber nicht abbrechen soll dabei. Versuche ich es einfach, indem ich die Klammer mit
weglasse, bekomme ich im Fehlertrace den Hinweis auf die geworfene Exception in meiner Methode und die Verarbeitung des Testfalles bricht dann ab, alle Zeilen unter dem Aufruf von
werden nicht mehr ausgeführt.
Gibt es da einen Weg, oder kann man so etwas nicht testen?
Java:
@Test(expected = MyException.class)
public void testCase1() {
MyClass m = new MyClass();
m.doSomething(); // wirft die Exception;
}
Und alles ist fein. Genauso kann ich es auch mit einer java.lang.RuntimeException machen:
Java:
@Test(expected = MyRuntimeException.class)
public void testCase2() {
MyClass m = new MyClass();
m.doSomethingOther(); // wirft die RuntimeException;
}
Nun möchte ich aber nach dem Test der Exception auch noch die Ausgaben, die davor in
Code:
doSomethingOther()
Code:
expected=
Code:
doSomethingOther()
Gibt es da einen Weg, oder kann man so etwas nicht testen?
Zuletzt bearbeitet: