Nachträglicher Einsatz von JUnit zum Testen von älterem Code

Und schließlich das Herzstück des Testprozesses: <junit>-Task.

Der Klassenpfad wird auf denselben Wert gesetzt wie der, der zur Kompilierung der Testklassen verwendet wird. Das formatter-Element ermöglicht es anzugeben, wie die Testergebnisse angezeigt werden sollen. Wenn das Attribut type auf „brief“ gesetzt ist, werden nur Informationen über fehlgeschlagene Testfälle angezeigt. Weitere Optionen sind „xml“ für die Weitergabe an andere Prozesse oder „plain“, welches die Ergebnisse sämtlicher durchgeführter Tests ausgibt. Standardmäßig erfolgt die Ausgabe in eine Datei (basierend auf dem Namen des durchgeführten Tests), daher wird das Attribut usefile auf „false“ gesetzt, so dass man die Ergebnisse am Bildschirm sehen kann.

Und schließlich kann man noch beliebig viele test-Elemente einfügen. Diese übernehmen als Attribut den Namen der auszuführenden Testklasse. Im obigen Codebeispiel soll com.runstate.pithy.PithTest ausgeführt werden. Diese Datei sollte sich in tests/com/runstate/pithy/PithTest.java befinden. Warum wurde sie im selben Paket erstellt wie die zu testende Klasse? Nun, einmal kann man sich dies einfacher merken, es bietet aber auch die Möglichkeit, dass der Testfall private Methoden des Pakets testen kann und nicht nur die normalerweise sichtbaren Methoden, und weil die Tests vom Produktionscode getrennt wurden, besteht trotzdem nicht die Gefahr, dass der Produktionscode mit Testcode aufgebläht wird.

Die PithTest-Klasse ist nur eine einfache Unit-Test-Klasse zum Testen von Gleichheitsoperationen mit Pith. Wenn man jetzt „ant test“ durchführt, kompiliert ant den Code, dann den Testcode, führt diesen aus und berichtet das Ergebnis dieses Tests.

Damit ist das grundlegende Framework zur Durchführung von Tests eingerichtet. Der eigentliche Test dieses Beispiels für nachträgliches Testen ist das Testen der Datenbankklasse PithyDBDerby.java. (Eine kleine Änderung an der PithyDB-Schnittstelle gegenüber dem Original ist die Fähigkeit, die Datenbank auch leer starten zu können, so dass sie in einen bekannten Status zurückversetzt werden kann.)

Page: 1 2 3 4 5 6

ZDNet.de Redaktion

Recent Posts

EU-Datenschützer kritisieren Facebooks „Zustimmung oder Bezahlung“-Modell

Ohne eine kostenlose Alternative, die ohne Zustimmung zur Verarbeitung personenbezogener Daten zu Werbezwecken auskommt, ist…

1 Woche ago

Europol meldet Zerschlagung der Phishing-as-a-Service-Plattform LabHost

LabHost gilt als einer der größten Phishing-Dienstleister weltweit. Die Ermittler verhaften 37 Verdächtige, darunter der…

1 Woche ago

DE-CIX Frankfurt bricht Schallmauer von 17 Terabit Datendurchsatz pro Sekunde

Neuer Datendurchsatz-Rekord an Europas größtem Internetknoten parallel zum Champions-League-Viertelfinale.

1 Woche ago

Samsungs neuer LPDDR5X-DRAM erreicht 10,7 Gbit/s

Die neuen Chips bieten bis zu 25 Prozent mehr Leistung. Samsung steigert auch die Energieeffizienz…

1 Woche ago

Cisco warnt vor massenhaften Brute-Force-Angriffen auf VPNs

Betroffen sind Lösungen von Cisco, Fortinet, SonicWall und anderen Anbietern. Die Hacker nehmen Konten mit…

1 Woche ago

Cybersicherheit in KMUs: Es herrscht oft Aufholbedarf

Immer häufiger müssen sich Betriebe gegen Online-Gefahren wehren. Vor allem in KMUs werden oft noch…

1 Woche ago