@DataProvider a wiele argumentów funkcji

0

Dla funkcji z jednym argumentem sprawdza się tak:

@DataProvider
	public Object[][] ValidDataProvider() {
		return new Object[][]{
				{ 'A', 65 },{ 'a', 97 },
				{ 'B', 66 },{ 'b', 98 },
				{ 'C', 67 },{ 'c', 99 },
				{ 'D', 68 },{ 'd', 100 },
				{ 'Z', 90 },{ 'z', 122 },
				{ '1', 49 },{ '9', 57 },
 
		};
	}
 
	@Test(dataProvider = "ValidDataProvider")
	public void CharToASCIITest(final char character, final int ascii) {
		   int result = CharUtils.CharToASCII(character); 
		   Assert.assertEquals(result, ascii);
	}
 

Jak funkcja będzie miała argumentów n równe np 5 czy 8 to przecież nie będę pisał Object[][][][][][][][], tym bardziej, że w dokumentacji jest napisane, że może być tylko Object[][], no chyba żeby kombinować, że tablica to też w końcu obiekt.
Jak testować funkcje z większą ilością argumentów?

Pytanie może głupie, ale już zaczynam "przekombinowywać" więc bardzo proszę o hinta albo przykład.

0

A kto ci broni napisać

return new Object[][]{
   { 'A', 65, "dupa" },
   //itd
};

?

0

Faktycznie :)
Wystarczy, że w @Test ustawię sobie argumenty w odpowiedniej kolejności i będę mógł zrobić jak piszesz.
Dzięki.

0

Szybko jeszcze wytłumaczenie jak działa to API. Pierwsza tablica Object[] zawiera argumenty wywołania dla kolejnych testów. Argumenty są prezentowane jako tablice obiektów i dlatego masz Object[][].

1 użytkowników online, w tym zalogowanych: 0, gości: 1