Test-Framework: JUnit 5.6 geht mit neuen Funktionen an den Start
Version 5.6 des Framework zum Erzeugen von Unit-Tests ist mit wichtigen Bugfixes und einer Reihe von Verbesserungen erschienen.
- Matthias Parbel
Rund ein halbes Jahr nach Veröffentlichung von JUnit 5.5 haben die Macher hinter dem Test-Framework nun die Version 5.6 vorgelegt. In die neue Version sind nicht nur wichtige Fehlerbereinigungen und Überarbeitungen eingeflossen, sondern auch neue Funktionen wie die Annotationen @EnabledForJreRange
und @DisabledForJreRange
, mit denen sich das Ausführen von Tests für verschiedene JRE-Versionen ein- beziehungsweise ausschalten lässt.
Erweiterte Optionen für CSV-Dateien
Neben den neu hinzugefügten Annotationen wurden in JUnit Jupiter unter anderen @CsvSource
and @CsvFileSource
überarbeitet. Über die dokumentierte Unterstützung von CSV-Dateien hinaus, die mit @CsvFileSource
geladen wurden, können Tester für beide Felder benutzerdefinierte null
-Werte und Mehrfachtrennzeichen nutzen. Skriptbasierte Bedingungs-APIs und sie betreffende Implementierungen wurden in JUnit Jupiter 5.5 bereits als veraltet kennzeichnet, in der API von Jupiter 5.6 fallen daher @EnabledIf
und @DisabledIf
weg.
Tests mit und ohne Tags
Jupiter Platform wartet ebenfalls mit einigen neuen Funktionen und Verbesserungen auf – darunter zusätzliche Methoden in DiscoverySelectors
, mit denen sich durch spezifische Selektoren (NestedClassSelector
und NestedMethodSelector
) individuelle Tests in vererbten verschachtelten Klassen auswählen und ausführen lassen. Dank der neuen Ausdrücke any()
und none()
können nun sämtliche Tests sowohl mit wie auch ohne Tags ablaufen. Darüber hinaus ist TestExecutionSummary.Failure
jetzt serialisierbar und die neue Methode printFailuresTo(PrintWriter, int)
in TestExecutionSummary
erlaubt es, eine maximal zu druckende Zahl von Zeilen für Exception Stack Traces festzulegen.
Ein vollständiger Überblick aller Verbesserungen und Neuerungen in JUnit 5.6 finden sich in den Release Notes sowie im GitHub Repository. (map)