Databases Reference
In-Depth Information
nach der Berechnung enthält ein Assert.fail(), das, wenn ausge-
führt, unmittelbar den Test als gescheitert kennzeichnet. An-
schaulich steht Assert.fail() nur an Stellen, die nicht erreicht
werden dürfen und könnte auch durch Assert.assertTrue(false)
ersetzt werden. Die catch-Blöcke zeigen, dass bei der ge-
wünschten Exception nicht mehr passiert und für alle anderen
Exceptions ein Fehler signalisiert wird.
Der Testfall test5 zeigt nur einen Testfall, in dem eine Exception
auftritt, diese aber nicht behandelt wird, was in der Ausfüh-
rung ebenfalls zu einer Fehlermeldung von JUnit führt.
In der Testklasse wird auch eine Klassenvariable genutzt, die
hier nur andeuten soll, dass diese nicht automatisch ihren Wert
wieder annimmt. Wäre dies gewünscht, müsste das in der mit
@Before markierten Methode berücksichtigt werden. Solche
Klassenvariablen sind nicht zum Austausch von Informationen
zwischen den Tests nutzbar, da es keine Garantie gibt, in wel-
cher Reihenfolge die Tests ausgeführt werden. Klassenvariablen
sollten nur Objekte enthalten, die benutzt, aber nicht verändert
werden, also anders als im ersten Beispiel demonstriert.
keine Reihenfol-
genannahmen
erlaubt
Abb. 14-1: Ausgabe von JUnit
Abb. 14-1 zeigt das Ergebnis der Ausführung in Eclipse, wobei
JUnit in praktisch jede Java-Entwicklungsumgebung integriert
309
Search WWH ::




Custom Search