JUnit 5 Quickie: @CsvSource

Mit der @CsvSource Annotation in JUnit 5 kann man mit Kommaseparierte Parameter leicht und übersichtliche Tests schreiben. Die API ist aber noch im EXPERIMENTAL Status.

JUnit 5 Quickie: @CsvSource

Hier mal ein Beispiel. Für jeden Kommandozeilen Parameter eine Testmethode schreiben:

@Test
	void testHilfe() throws Exception {

		String[] args = { "-h" };
		Start.main(args);
	}

	@Test
	void testVersion() throws Exception {

		String[] args = { "-v" };
		Start.main(args);
	}

	@Test
	void testFehler() throws Exception {

		String[] args = { "-fehler" };
		Start.main(args);
	}

Das kann leicht mit JUnit 5 übersetzt und vereinfacht werden mit:

@ParameterizedTest(name = "{index}. Überprüfter Kommandozeilen Parameter: {arguments}")
@CsvSource({ "-h", "-v", "-Kommandozeilenfehler", "-i", "-a", "-t" })
	void kommandoZeilenTest(String kommandozeilenparameter) throws Exception {

		Start.main(new String[] { kommandozeilenparameter });
	}

Einfach die Parameter der @CsvSource Annotation hinzufügen. Die Testmethode wird dann 6 mal aufgerufen mit jeden Parameter einmal, und der Methoden Name ist auch schön übersichtlich. Es können die {index} und {arguments} Parameter wie folgt verwendet werden:

JUnit 5 Quickie: @CsvSource

Ähnliche Artikel:

  1. Java Quickie: Liefere die IP vom Domain Namen
  2. JUnit 5 @ParameterizedTest mit @ValueSource oder 3 Gründe warum man keine JUnit Tests schreiben sollte!
  3. Java Quickie: Ist eine Domain erreichbar?

wallpaper-1019588
Auslaufmodell: Krieg
wallpaper-1019588
einfacher köstlicher Weihnachtskuchen: Zimtstern-Kuchen mit Streuseln – recipe for simple cinnamon christmas cake
wallpaper-1019588
Marina ist zurück und bescherrt uns mit „Handmade Heaven“ eine zauberhafte Pop-Nummer
wallpaper-1019588
BAG: Hinterbliebenenversorgung bei 10 Jahren Ehezeit
wallpaper-1019588
Kalenderblatt | 16.09.2019
wallpaper-1019588
TCL Plex Smartphone vorgestellt
wallpaper-1019588
[Kurz-Rezension] „Sascha, Oligarch von Moskau“, Rhiana Corbin
wallpaper-1019588
NEWS: Reeperbahn Festival 2019 vom 18. bis 21. September