JUnit 5 @ParameterizedTest mit @ValueSource oder 3 Gründe warum man keine JUnit Tests schreiben sollte!

In JUnit 5 gibt es nun die Möglichkeit, Testmethoden mit Parametern ausszuführen. Anstatt der @Test Annnotation verwendet man die @ParameterizedTest. Nun braucht man noch eine Datenquelle mit @ValueSource.

Diese Klassen liegen in:

und muss in der pom.xml ergänzt werden.

Es gibt unterschiedliche Typen (int, long, double …) von ValueSource. Hier ein Beispiel mit einem String Array:

Es werden also drei Durchläufe ausgeführt, und man kann gut sehen, welcher Test ausgeführt wurde:

Nun kann man auch noch den Anzeige Namen im Testlauf schöner machen, in dem die ParameterizedTest Annotation ergänzt wird um

@ParameterizedTest(name = „Testfall Nr. {index} mit URL Argument [{arguments}]“)

Dann sieht das ganze nach der Ausführung so aus:

Man kann also auf die Parameter zugreifen mit: index, arguments oder auch i.

Weitere Details hier (engl.) oder auf diesem Block in Kategorie JUnit 5.