TestNG à l'aide de plusieurs DataProviders avec une seule méthode de Test
J'ai été à la recherche d'un moyen d'utiliser de multiples DataProviders dans ma méthode de test. Mon scénario est comme suit:
permet de dire que nous avons un Fournisseur de classe:
@Test
public class ExampleDataProvider {
/**
* Returns the list of shape codes.
*
* @return the collection shape codes.
*/
@DataProvider(name = "ShapeCodes")
public static Object[][] getShapeCodes() {
return new Object[][] { new Object[] { Shape.Square },
new Object[] { Shape.Triangle }
};
}
/**
* Returns the list of color codes.
*
* @return the collection of color codes.
*/
@DataProvider(name = "ColorCodes")
public static Object[][] geColorCodes() {
return new Object[][] { new Object[] { Color.Green },
new Object[] { Color.Red }
};
}
}
Maintenant dans ma méthode de Test je veux courir pour toutes les combinaisons de scénarios:
- Vert-Carré
- Rouge-Carré
- Vert-Triangle
- Triangle rouge
Comment dois-je atteindre dans mon code, étant donné que je ne peux pas spécifier plusieurs DataProviders avec @Test
annotation
@Test(dataProvider = "ShapeCodes", dataProviderClass = ExampleDataProvider.class)
public void test(String ShapeCode, String ColorCode) throws IOException {
.............
/* tests for color shape combination */
.............
}
EDIT : j'ai trouvé un problème similaire et d'un @ solution de contournement mais je me demande encore si il y a de meilleures façons de gérer cette situation.
OriginalL'auteur Segmented | 2014-08-28
Vous devez vous connecter pour publier un commentaire.
Le manque d'une meilleure approche, j'ai décidé de s'en tenir à la solution de contournement. voici un exemple de la façon dont le scénario ci-dessus pourraient être mises en œuvre:
De cette façon, j'arrive à utiliser mon code de Couleur et la Forme de codes séparément et aussi me donne l'utilisation de la combinaison.
Donc, mes méthodes d'essai ressemblerait à:
OriginalL'auteur Segmented
Grande réponse Sectorielle
Peut-être quelqu'un aura besoin de trop, j'ai réécrit cette méthode d'une manière différente.
OriginalL'auteur Alex