JUnit 5 für Java: Vollständiger Leitfaden mit Beispielen

Online Python-Trainer für Anfänger

Lernen Sie Python einfach ohne theoretische Überlastung. Lösen Sie praktische Aufgaben mit automatischer Überprüfung und schreiben Sie Code direkt im Browser.

Kurs starten

Einführung in JUnit 5

\n\n

JUnit 5 ist ein modernes Framework für Modultests (Unit Testing) in der Sprache Java. Es ist die evolutionäre Weiterentwicklung des beliebten JUnit 4 und gilt in der Java-Ökosystem als De-facto-Standard für das Schreiben automatisierter Tests. JUnit 5 ist nicht nur ein Update, sondern eine vollständig überarbeitete Architektur, die aus drei Unterprojekten besteht: JUnit Platform (Testausführung), JUnit Jupiter (neues Programmier- und Erweiterungsmodell) und JUnit Vintage (Rückwärtskompatibilität mit JUnit 3/4).

\n\n

Wozu braucht man JUnit 5? In der modernen Softwareentwicklung (insbesondere in Methodiken wie TDD – Test-Driven Development) ist Testen keine Option, sondern ein obligatorischer Schritt. JUnit 5 ermöglicht:

\n
    \n
  • Automatisierte Code-Überprüfung: Hunderte Tests mit einem einzigen Befehl ausführen.
  • \n
  • Regressionssicherheit: Sicherstellen, dass neuer Code keine alte Funktionalität beschädigt.
  • \n
  • Verbessertes Code-Design: Testbarer Code ist oft modularer und weniger stark gekoppelt.
  • \n
  • Dokumentation des Verhaltens: Tests dienen als lebendige Dokumentation, die zeigt, wie eine Klasse oder Methode funktionieren soll.
  • \n
  • Integration in CI/CD: JUnit 5 lässt sich leicht in Maven, Gradle, Jenkins, GitHub Actions einbinden.
  • \n
\n\n

Wichtige Neuerungen von JUnit 5 im Vergleich zu JUnit 4: Annotationen der neuen Generation (@Test, @ParameterizedTest, @Nested), ein leistungsstarkes Erweiterungssystem (Extensions), Unterstützung für Lambda-Ausdrücke und Stream-APIs sowie integrierte Unterstützung für parametrisierte und dynamische Tests.

\n\n

Installation von JUnit 5

\n\n

Da Java eine kompilierte Sprache ist, erfolgt die Installation über Abhängigkeitsmanager (Maven oder Gradle). JUnit 5 wird nicht über pip oder npm installiert. Nachfolgend finden Sie Anleitungen für die beiden gängigsten Build-Systeme.

\n\n

Installation mit Maven (pom.xml)

\n

Fügen Sie die folgenden Abhängigkeiten zu Ihrer pom.xml-Datei hinzu. Es wird empfohlen, die neueste stabile Version zu verwenden (zum Zeitpunkt der Erstellung: 5.11.0, prüfen Sie die aktuelle Version auf MVNRepository).

\n
<dependencies>\n    <!-- Hauptmodul JUnit Jupiter (enthält API, Engine und Parametrisierung) -->\n    <dependency>\n        <groupId>org.junit.jupiter</groupId>\n        <artifactId>junit-jupiter</artifactId>\n        <version>5.11.0</version>\n        <scope>test</scope>\n    </dependency>\n    <!-- (Optional) Für Kompatibilität mit JUnit 4 -->\n    <dependency>\n        <groupId>org.junit.vintage</groupId>\n        <artifactId>junit-vintage-engine</artifactId>\n        <version>5.11.0</version>\n        <scope>test</scope>\n    </dependency>\n</dependencies>
\n\n

Installation mit Gradle (build.gradle)

\n

Fügen Sie im Abschnitt dependencies hinzu:

\n
dependencies {\n    testImplementation 'org.junit.jupiter:junit-jupiter:5.11.0'\n    // (Optional) Für JUnit 4\n    testImplementation 'org.junit.vintage:junit-vintage-engine:5.11.0'\n}\n\ntest {\n    useJUnitPlatform() // Erforderlich, um JUnit 5 zu aktivieren\n}
\n\n

Installation ohne Build-System (Plain Java)

\n

Wenn Sie Maven/Gradle nicht verwenden, laden Sie die JAR-Dateien aus dem offiziellen Repository herunter und fügen Sie sie dem Classpath Ihres Projekts hinzu. Dies wird für reale Projekte jedoch dringend abgeraten.

\n\n

Schnellstart: Erster Test mit JUnit 5

\n\n

Erstellen wir eine einfache Klasse Calculator und schreiben einen Test dafür.

\n\n

1. Die zu testende Klasse (Calculator.java):

\n
public class Calculator {\n    public int add(int a, int b) {\n        return a + b;\n    }\n\n    public int divide(int a, int                    

Empfehlungen