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:

  1. Vert-Carré
  2. Rouge-Carré
  3. Vert-Triangle
  4. 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