JUnit Quickie: Wie können die Testmethoden einer Klasse automatisch in zufälliger Reihenfolge (Pseudozufall) ausgeführt werden?

Wie können die Testmethoden einer Klasse automatisch in zufälliger Reihenfolge ausgeführt werden? Ab JUnit 5.4 geht das mit der Annotation @TestMethodOrder. Es wird nur die @TestMethodOrder(MethodOrderer.Random.class) Annotation an der jeweiligen Test-Klasse benötigt. Die Zufallsfunktion wird mit Hilfe der System.nanoTime() Funktion erzeugt. Also ein Pseudozufall. Aber für Test reicht es.

JUnit Quickie: Wie können die Testmethoden einer Klasse automatisch in zufälliger Reihenfolge (Pseudozufall) ausgeführt werden?

Wir verwenden diese Testklasse:

import org.junit.jupiter.api.MethodOrderer.Random;
import org.junit.jupiter.api.Order;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.TestMethodOrder;

/**
 * Test der Order Annotationen.
 * 
 * @author Thomas Wenzlaff
 *
 */
@TestMethodOrder(Random.class)
class OrderTest {

	@Test
	void aMethode() {
		System.out.println("a Methode im Code");
	}

	@Test
	void cMethode() {
		System.out.println("c Methode im Code");
	}

	@Test
	@Order(30)
	void bMethote() {
		System.out.println("b Methode im Code ");
	}
}

Und nun führen wir diese Klasse zweimal aus:

JUnit Quickie: Wie können die Testmethoden einer Klasse automatisch in zufälliger Reihenfolge (Pseudozufall) ausgeführt werden?

Die Methoden wurden in der Reihenfolge bca ausgeführt und beim zweiten mal

JUnit Quickie: Wie können die Testmethoden einer Klasse automatisch in zufälliger Reihenfolge (Pseudozufall) ausgeführt werden?

in der Reihenfolge cba.

Ähnliche Artikel:

  1. JUnit Quickie: Wie können die Testmethoden einer Klasse automatisch in alphabetischer Reihenfolge ausgeführt werden?
  2. JUnit Tests nun mit Methoden Reihenfolge via @Order Annotation möglich
  3. Rest Test Programm: Java Migration von JUnit 4 nach JUnit 5 (1.0.0.-M6)

wallpaper-1019588
Overwatch 2 Server durch DDOS Attacke Down – Blizzard arbeitet an einer Lösung
wallpaper-1019588
CD Project Red Mitbegründer und Co-CEO tritt zurück
wallpaper-1019588
Neue The Witcher und Cyberpunk Spiele werden zukünftig Multiplayer bieten
wallpaper-1019588
Cyberpunk 2077 Sequel ist geplant – befindet sich noch in der Vorproduktion