testng
Tests paramétrés
Recherche…
Fournisseurs de données
Les fournisseurs de données permettent de créer plusieurs entrées de test à exécuter dans un test. Considérons un test qui vérifie que les nombres sont correctement doublés. Pour créer un fournisseur de données, fournissez une méthode statique qui retourne Object[][]
ou Iterator<Object[]>
(ce dernier permet un calcul @DataProvider
entrées de test) annoté avec l’annotation @DataProvider
, le name
propriété étant une chaîne unique identifiant le fournisseur.
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}
};
}
}
Dans le cas ci-dessus, chaque Object[]
représente un ensemble de données pour un seul test élémentaire - ici le nombre à doubler, suivi de la valeur attendue après le doublement.
Pour utiliser le fournisseur de données, remplissez la propriété dataProvider
du test avec le nom du fournisseur. Si la méthode provider a été définie en dehors de la classe de test ou de ses classes de base, vous devez également spécifier la propriété dataProviderClass
. La méthode de test doit prendre les paramètres correspondant aux éléments de la description du test élémentaire - ici deux pouces.
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);
}
}