Manchmal will man eine Testmethode öfter ausführen. Das ist ja leicht mit einer Schleife möglich.
JUnit 5 bietet nun aber eine schöne Annotation an @RepeatedTest. Mit der kann leicht die Anzahl der Wiederholungen angegeben werden. Über die Methodenparameter TestInfo und RepetitionInfo kann zur Laufzeit auf die Klassennamen, Methodennamen und aktuellen runden Wert zugegriffen werden. Hier mal ein Beispiel:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
@DisplayName("Mehrfach Anfragen Service wenzlaff.de") @RepeatedTest(value = 5, name = "Wiederholungs Lauf {currentRepetition} von {totalRepetitions}") public void wiederholungenTesten(TestInfo testInfo, RepetitionInfo repetitionInfo) { // Client Test String hostUrl = StandaloneServer.HOST + "/umgebung/service"; ClientResource clientResource = new ClientResource(hostUrl); Umgebung resource = clientResource.wrap(Umgebung.class); String vers = resource.getUmgebung(); assertTrue(vers.length() > 10); // Wiederholungs Parameter ausgeben System.out.println("Display Klasse: " + testInfo.getTestClass()); // Display Klasse: Optional[class de.wenzlaff.umgebung.ServerAppTest] System.out.println("Display Name: " + testInfo.getDisplayName()); // Display Name: Wiederholungs Lauf 1 von 1 System.out.println("Display Methode: " + testInfo.getTestMethod()); // Display Methode: Optional[public void de.wenzlaff.umgebung.ServerAppTest.wiederholungenTesten(org.junit.jupiter.api.TestInfo)] System.out.println("Wiederholungen: " + repetitionInfo.getCurrentRepetition() + " von "+ repetitionInfo.getTotalRepetitions()); } |
Hier der Lauf: