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

Nun kann die Klasse neu kompiliert und der Test wieder durchführt werden:

Diesmal war der Test erfolgreich. Natürlich ist es nicht optimal, die Tests jedes Mal manuell aufrufen zu müssen. Der Rest von JUnit befasst sich damit, wie man die Ausführung dieser TestCases organisiert, sowie mit unterschiedlichen Möglichkeiten, die Ergebnisse dieser Tests darzustellen. Obwohl JUnit – wie der Name schon sagt – vor allem für Unit Testing gedacht ist, ist das Framework doch so allgemein gehalten, dass man es auch für „größere“ Einheiten als einzelne Klassen verwenden kann.

Anhand eines Beispiels aus einem früheren Artikel – Pithy (aus „Eingebettete SQL-Datenbank in Java„) – soll gezeigt werden, wie man JUnit zum Build-Prozess hinzufügt und einige Tests erstellt.

Der Build von Pithy erfolgt mithilfe von Apache Ant, für das JUnit-Unterstützung als optionales Paket vorhanden ist. Wenn sich junit.jar im Klassenpfad befindet, sollte Ant es automatisch finden, aber wenn man seinen Default-Klassenpfad nicht verwenden möchte (was sich empfiehlt, wenn man einen Code-Tree mit minimalen externen Abhängigkeiten haben will), besteht die einfachste Methode zur Aktivierung darin, die Datei junit.jar in das Verzeichnis $ANT_HOME/lib zu kopieren. Damit ist die Ant-Task <junit> aktiviert.

Sobald alles eingerichtet ist, kann man die Testklassen organisieren. Statt den Testcode mit dem eigentlichen Code zu vermischen, ist es besser, eine separate Testhierarchie mit ihrem eigenen Klassenbaum anzulegen. Hier der Anfang der Datei build.xml:

Hier werden die Eigenschaften testDir und testOutputDir festgelegt (und anders als bei der Original-Build-Datei werden das init-Target entfernt und alle Eigenschaften bereits festgelegt). Dann werden zwei Klassenpfad-Variablen definiert: eine mit dem Klassenpfad zur Ausführung von Pithy und eine, welche neben diesem Klassenpfad auch die Testklassen enthält. Als Nächstes muss man ein Target hinzufügen, um alle vorhandenen Tests zu kompilieren.

Page: 1 2 3 4 5 6

ZDNet.de Redaktion

Recent Posts

Google: Passkeys schützen mehr als 400 Millionen Google-Konten

Die Passwort-Alternative Passkeys überholt Einmalpasswörter bei der Zwei-Faktor-Authentifizierung. Auch Microsoft setzt sich aktiv für die…

5 Tagen ago

Infostealer: 53 Prozent der Angriffe treffen Unternehmensrechner

Der Anteil steigt seit 2020 um 34 Prozentpunkte. Allein 2023 erfasst Kaspersky rund 10 Millionen…

6 Tagen ago

Salesforce: Mit Einstein GPT zurück auf die Überholspur?

Salesforce forciert den Ausbau seiner Industry Clouds. Mit ihrem Prozesswissen könnten deutsche IT-Dienstleister davon profitieren.

6 Tagen ago

Neue Backdoor: Bedrohung durch Malvertising-Kampagne mit MadMxShell

Bisher unbekannter Bedrohungsakteur versucht über gefälschte IP Scanner Software-Domänen Zugriff auf IT-Umgebungen zu erlangen.

1 Woche ago

BSI-Studie: Wie KI die Bedrohungslandschaft verändert

Der Bericht zeigt bereits nutzbare Angriffsanwendungen und bewertet die Risiken, die davon ausgehen.

1 Woche ago

KI-Wandel: Welche Berufe sich am stärksten verändern

Deutsche sehen Finanzwesen und IT im Zentrum der KI-Transformation. Justiz und Militär hingegen werden deutlich…

1 Woche ago