Nous souhaitons effectuer chacun de nos tests en fonction d'un ensemble de valeurs de données, en vérifiant que les mêmes conditions sont vraies pour chacune d'elles. Les données sont actuellement stockées dans des fichiers plats ou dans de simples feuilles de calcul Excel. Ma première pensée était de créer un DataProvider TestNG qui chargerait les données du fichier et serait utilisé pour appeler la méthode de test une fois pour chaque valeur de données. Mon problème est que différents tests doivent charger des données à partir de différents fichiers et il ne semble pas y avoir moyen d'envoyer un paramètre au DataProvider. Est-ce que quelqu'un sait si c'est possible?Possibilité de passer des paramètres à TestNG DataProvider?
Idéalement, je voudrais que mon code pour ressembler (exemple simplifié) suivant:
public class OddTest {
@DataProvider(name = "excelLoader")
public Iterator<Object[]> loadExcelData(String fileName) {
...
}
@Test(dataProvider = "excelLoader" dataProviderParameters = { "data.xls" })
public void checkIsOddWorks(int num)
assertTrue(isOdd(num));
}
}
on pourrait injecter la fois '' ITestContext' et method' (voir le bas de la réponse de « user64051 ») et à la fois déterminer les données fournies à partir des paramètres suite _ET_ méthodes. Cela fonctionne dans la version actuelle et il semble que cela a déjà fonctionné dans 5.14.x. –