Einführung in JUnit 5
\n\nJUnit 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\nWozu 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
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\nInstallation von JUnit 5
\n\nDa 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\nInstallation mit Maven (pom.xml)
\nFü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).
<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\nInstallation mit Gradle (build.gradle)
\nFügen Sie im Abschnitt dependencies hinzu:
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\nInstallation ohne Build-System (Plain Java)
\nWenn 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\nSchnellstart: Erster Test mit JUnit 5
\n\nErstellen wir eine einfache Klasse Calculator und schreiben einen Test dafür.
1. Die zu testende Klasse (Calculator.java):
\npublic class Calculator {\n public int add(int a, int b) {\n return a + b;\n }\n\n public int divide(int a, int Auch in der Bibliothek
Knex.js für JavaScript (Node.js): Komplettes Tutorial mit Beispielen
Datenvalidierung in C++: Bibliotheken, Muster und Codebeispiele
Arbeiten mit Bildern in PHP: Resize, Crop und Optimierung mit GD und Imagick
Datenvalidierung in Go: Überblick über Bibliotheken und Ansätze