חזרות Wiederholungen mit JUnit 5: @RepeatedTest

Erstellt am 21. Juli 2017 von It_berater

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:


@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:

Ähnliche Artikel:

  1. Standalone RESTful Server und Client mit dem Restlet Framework
  2. Neue Annotationen الشروح in JUnit 5 (= JUnit Platform + JUnit Jupiter + JUnit Vintage) für Java 8
  3. In welcher Höhe fliegen Flugzeuge?