Hier erzeugt testCreate ein Thing und verwendet dann die TestCase-Methode assertEquals, welche einen erwarteten Wert und einen „tatsächlichen“ Wert als Parameter übernimmt. Der Test schlägt fehl, wenn die beiden Werte nicht übereinstimmen. So kann überprüft werden, ob Thing den Wert liefert, den es liefern soll.
In testAdd wird ein Thing erzeugt, der Wert 200 addiert und das Ergebnis gespeichert. Zwei Aufrufe von assertEquals überprüfen dann das Ergebnis der add-Methode, und ob Thing den neuen Wert behalten hat. Man beachte hier, dass assertEquals als zusätzlichen Parameter einen String übernehmen kann, der ausgegeben wird, wenn der Test fehlschlägt.
Bevor man diesen Code kompilieren kann, muss man erst einmal das JUnit-Framework selbst installieren. Zu finden ist es auf der entsprechenden Website. Man entpackt es einfach dort, wo man auch seine anderen Libraries speichert, und fügt dann die Datei junit.jar dem Klassenpfad hinzu. Für dieses Beispiel wurde JUnit nach c:junit3.8.1 entpackt:
C:Thing>set CLASSPATH=C:junit3.8.1junit.jar;.
Es folgt die Kompilierung:
C:Thing>javac *.java
Es gibt zwei Standardverfahren, um Tests durchzuführen: über die Kommandozeile oder über eine grafische Benutzeroberfläche. Zuerst der Aufruf über die Kommandozeile. Der textbasierte Test-Runner befindet sich in junit.textui.TestRunner. Er übernimmt einen Parameter, den Namen des TestCase, in diesem Fall „ThingTest“. Und so wird er ausgeführt:
Der Test schlug fehl. Wie sind die Ergebnisse zu interpretieren? Das „..F“ zeigt jede der ausgeführten Testmethoden an, wobei die letzte fehlschlug. Nach Ausführung der Tests wird angezeigt, wie lange dies gedauert hat, und es wird ein Bericht erstellt:
Der Fehler trat also in der testAdd-Methode von ThingTest auf, und zwar bei einer Aussage. „Retained value“ stammt aus dem String-Parameter von assertEquals. Und schließlich erfährt man noch, welches der erwartete und der tatsächliche Wert waren. Wie man sieht, behält Thing seinen Wert nicht bei. Man kann die Methode add Thing.java wie folgt ändern:
public int add(int x) { n=n+x; return n; }
Beim Online-Gaming kommt es nicht nur auf das eigene Können an. Auch die technischen Voraussetzungen…
Fast jedes zweite Unternehmen bietet keinerlei Schulungen an. In den übrigen Betrieben profitieren oft nur…
Huawei stellt auf der Connect Europe 2024 in Paris mit Xinghe Intelligent Network eine erweiterte…
Höchste Zeit für eine schnelle Kupfer-Glas-Migration. Bis 2030 soll in Deutschland Glasfaser flächendeckend ausgerollt sein.
Schon im April 2025 soll Android 16 den Status Plattformstabilität erreichen. Entwicklern gibt Google danach…
Die Hintermänner setzen KI-Chatbot-Tools als Köder ein. Opfer fangen sich den Infostealer JarkaStealer ein.