testng
Sparametryzowane testy
Szukaj…
Dostawcy danych
Dostawcy danych pozwalają na tworzenie wielu danych wejściowych testowych do uruchomienia w ramach testu. Rozważmy test, który weryfikuje, że liczby są poprawnie podwajane. Aby utworzyć dostawcę danych, podaj metodę statyczną, która zwraca Object[][]
lub Iterator<Object[]>
(ta ostatnia umożliwia leniwe obliczanie danych testowych) opatrzona adnotacją @DataProvider
, przy czym name
właściwości jest unikalnym ciągiem identyfikującym dostawca.
import org.testng.annotations.DataProvider;
public class DoublingDataProvider {
public final static String DOUBLING_DATA_PROVIDER = "doublingDataProvider";
@DataProvider(name = DOUBLING_DATA_PROVIDER)
public static Object[][] doubling() {
return new Object[][]{
new Object[]{1, 2},
new Object[]{2, 4},
new Object[]{3, 6}
};
}
}
W powyższym przypadku każdy Object[]
reprezentuje zestaw danych dla pojedynczego przypadku testowego - tutaj liczba do podwojenia, po której następuje wartość oczekiwana po podwojeniu.
Aby użyć dostawcy danych, wypełnij właściwość dataProvider
testu nazwą dostawcy. Jeśli metoda dostawcy została zdefiniowana poza klasą testową lub jej klasami podstawowymi, należy również określić właściwość dataProviderClass
. Metoda testowa powinna przyjmować parametry odpowiadające elementom opisu przypadku testowego - tutaj są dwie liczby całkowite.
import org.testng.annotations.Test;
import static org.testng.Assert.assertEquals;
public class DoublingTest {
@Test(dataProvider = DoublingDataProvider.DOUBLING_DATA_PROVIDER, dataProviderClass = DoublingDataProvider.class)
public void testDoubling(int number, int expectedResult) {
assertEquals(number * 2, expectedResult);
}
}