JUnit 5 Release

Nachdem wir bereits im November 2016 über JUnit 5 und die damit verbundenen neuen Features berichtet hatten, ist JUnit 5 nun seit dem 10. September offiziell veröffentlicht. Das nach wie vor am weitesten verbreitete Unit-Testing Framework für Java, an dessen Entwicklung sich auch die OIO GmbH über eine Crowdfunding-Kampagne beteiligt hatte, bietet mit JUnit 5 jetzt auch eine umfangreiche Unterstützung für die neuen Sprachfeatures von Java 8 (z. B. Lambdas).

JUnit 5 ist im Kontrast zu den vorherigen Versionen in mehrere Module aus drei verschiedenen Subprojekten zusammengesetzt. Diese sind im JUnit 5 User Guide wie folgt beschrieben:

Die JUnit Platform bildet die Basis für Testframeworks auf der JVM. Sie bietet neben einer TestEngine API zur Entwicklung von Test Frameworks auch einen Console Launcher zum Starten von Kommandozeilenprogammen und Buildtools (etwa Plugins für Gradle und Maven) auf Basis der JUnit Platform.

JUnit Jupiter ist eine Kombination aus dem neuen Programmier- und Erweiterungsmodell zum Erstellen von Tests in JUnit 5. Es enthält die TestEngine zur Ausführung Jupiter-basierter Tests.

JUnit Vintage bietet eine TestEngine mit Kompatibilität für JUnit 3 und 4.

Durch diese Modularisierung kann man alte JUnit 3 oder 4 Tests parallel zu neuen JUnit 5 Tests mit Jupiter konfliktfrei im gleichen Projekt laufen lassen. Um die alten Tests auszuführen, wird nur das JUnit Vintage Artefakt benötigt, während die neuen Tests ausschließlich das JUnit Jupiter Artefakt benötigen. Diese drei Submodule sind im Sonatype Snapshot Repository unter /org/junit unter ihrer jeweiligen Gruppen ID (org.junit.platform, org.junit.jupiter, org.junit.vintage) mit all ihren einzelnen Artefakten zu finden. Eine detaillierte Übersicht über alle Artefakte, sowie eine vollständige Liste aller Änderungen ist im JUnit 5 User Guide zu finden.

Konkrete Codebeispiele sind neben dem JUnit 5 Sample Repository auch in unserem oben genannten Blogbeitrag zu finden. Der Java Quellcode für alle Module von JUnit 5 selbst ist im Übrigen auf GitHub zu finden.

Short URL for this post: https://wp.me/p4nxik-2SO
This entry was posted in Java and Quality and tagged , , , , , . Bookmark the permalink.

Leave a Reply