Cooler CSV Reader in JUnit 5

Will man Testfälle aus einer CSV-Datei verwenden, geht das mit JUnit 5 Super einfach. Es gibt da eine neue Annotation @CsvFileSource der nur der Dateiname der CSV-Datei übergeben werden muss, und schon wird für jede Zeile der Test ausgeführt. Die Datei muss im Classpath liegen und mit Komma (,) getrennt sein. Sie darf keine Überschrift haben.

JUnit 5

Als Beispiel soll mal die flug-data.csv dienen, die ua. die Summe aller erfassten Flugzeuge enthält.

Hier ein Auszug:

Wir wollen jetzt jede Zeile überprüfen, ob die Summe über 3000 Flugzeuge liegt und ob die UID vorhanden ist. Auch wollen wir die Testergebnisse um eine laufende Nr. ergänzen.

Hier die Methode:

Mit {index} kann auf die laufende Nr. zugegriffen werden. Und mit {0} auf die erste Spalte mit {1} auf die zweite Spalte usw.

Der Testlauf sieht dann so aus:

Diese und auch andere Klassen sind in JUnit 5 noch mit @API(Experimental) annotiert. D.h. sie können in zukünftigen Versionen ohne weiteres auch wegfallen.

Übrigens ist in der JUnit 5 Version der Nachrichten-Parameter nicht mehr an der 1. Stelle sondern an der Letzten. So kann man die Methoden auch auseinander halten und es braucht nicht mehr viel gescrollt zu werden: