Normal sollte die Testreihenfolge ja nicht festgelegt werden. Da eine Test-Methode nicht von einer anderen abhängig sein sollte.
Manchmal wird das aber dennoch benötigt. Das geht jetzt ab JUnit 5.4 ganz einfach mit der @Order Annotation.
Hier eine Beispiel Klasse.
Es wird auch für die Klasse noch die @TestMethodOrder(OrderAnnotation.class) Annotation benötigt. Mit der @Order Annnotation und einen Integer Parameter wird die Reihenfolge festgelegt. Gibt es keine @Order Annotation an eine Methode werden erst die mit @Order definierte Reihenfolge verwendet und die ohne dann hinten von oben angefügt (= @Order(Integer.MAX_VALUE))
Es muss für die Ausführung auch der JUnit 5 Runner eingestellt werden, sonst läuft es nicht.
Wenn das kein Grund ist, auf 5.4 zu gehen 😉
Ähnliche Artikel:
- Java: Reihenfolge der Testmethoden mit FixMethodOrder in JUnit festlegen
- JUnit 5 @ParameterizedTest mit @ValueSource oder 3 Gründe warum man keine JUnit Tests schreiben sollte!
- Rest Test Programm: Java Migration von JUnit 4 nach JUnit 5 (1.0.0.-M6)