Das Test-Framework JUnit hat seit dem ersten Release von Erich Gamma und Kent Beck wesentlich dazu beigetragen, testgetriebene Entwicklung zu ermöglichen. Nach vielen Jahren ohne neues Major Release und ohne grundlegende Modernisierungsmöglichkeit hat im Oktober 2015 die Entwicklung der vollständig überarbeiteten Version 5 begonnen. Nach einer Startfinanzierung durch die Crowdfunding-Kampagne „JUnit Lambda“ und einer Reihe von Milestone-Releases ist die Version 5.0 noch für 2017 geplant.
In diesem Vortrag wird über die Motivation für die Neuentwicklung sowie über kleine und große Designentscheidungen des JUnit 5-Teams berichtet. Weiter wird die neue, stark modulare Architektur vorgestellt, die mit besonderem Fokus auf Erweiterbarkeit und Integrierbarkeit in Tools entworfen wurde. So wird erstmalig explizit zwischen einer Basis-Plattform und einzelnen Testengines unterschieden. Dies ermöglicht die Koexistenz verschiedener Testengines, so können z.B. JUnit 4- und JUnit 5-Tests gemeinsam ausgeführt werden. Für Erweiterungen wurde ein feingranulares Extension-Modell eingeführt. Nicht zuletzt bringt das neue Release neben vielem Bewährten auch manche interessante Neuerungen für Entwickler wie etwa Parameter Injection, Dynamische oder Nested Tests. Im Vortrag wird eine Reihe von Live-Demos gegeben, die die Unterschiede zu JUnit 4 bzw neue Features von JUnit 5 zeigen.
Matthias Merdes ist Lead Developer Architecture & Services bei der Heidelberg Mobil International GmbH und Mitglied des JUnit5-Teams. Er befasst sich seit JDK 1.1 mit Java-Technologien im Backendbereich sowie Reverse-Engineering-Themen. Neben Testautomatisierung von Unit- bis Lasttests interessieren ihn Groovy, Spring und alles andere, was Enterprise und Cloud Development einfacher, eleganter und effizienter macht.
Marc Philipp arbeitet als Softwareentwickler bei LogMeIn in Karlsruhe an Cloud-basierten Kollaborationslösungen. Er ist langjähriger Maintainer von JUnit, Mitinitiator der Crowdfunding-Kampagne “JUnit Lambda” und JUnit‘s “Keeper of the Green Bar”.