TestNG l'Exécution en parallèle avec DataProvider

J'ai un seul test qui reçoit des données de fournisseur de données. Je voudrais que ce test fonctionne en parallèle avec les différentes valeurs de fournisseur de données .

J'ai essayé une approche comme :

public class IndependentTest
{
@Test(dataProvider = "dp1" ,threadPoolSize=3,invocationCount=1)

public void testMethod(int number)
{
    Long id = Thread.currentThread().getId();
    System.out.println("HELLO :  " + id);
}


@DataProvider(name = "dp1",parallel=true)
public Object[][] dp1() {
  return new Object[][] {
      new Object[] { 1 },
      new Object[] { 2 },
      new Object[] { 3 },
      new Object[] { 4 },
      new Object[] { 5 },
      new Object[] { 6 },
      new Object[] { 7 },
      new Object[] { 8 }

  };
}

}

La sortie, j'ai reçu est :

BONJOUR : 10

BONJOUR : 12

BONJOUR : 17

BONJOUR : 11

BONJOUR : 16

BONJOUR : 14

BONJOUR : 13

BONJOUR : 15

Donné naissance à 10 threads alors que j'ai spécifié 5 dans la taille du pool de threads .
Pourriez-vous nous dire ce qui doit être ajouté à l'extrait ci-dessus pour le contrôle du fournisseur de données, taille du pool de threads .

Vous aurez envie de faire des tests en parallèle, et non pas le fournisseur. Dans votre construction configurer le mode parallèle à methods et threadCount à 5.
salut Ben , j'ai un seul test qui est censé fonctionner de plus de 10k fois basé sur le nombre de valeurs fournies par le fournisseur de données . Je voudrais contrôler le nombre de threads est généré lorsque parallèle=true est situé dans dataprovider. J'ai trouvé cet argument de ligne de commande -dataproviderthreadcount de contrôle dataprovider nombre de threads. Cependant, je voudrais savoir comment cela pourrait être fait à l'aide d'annotations
Dans mon projet, construction j'ai configurer les tests à exécuter en parallèle et, au total, exécuter 1,8 M en raison de fournisseurs de données sur 827 méthodes d'essai. Je ne pense pas que vous pouvez configurer ce par les annotations et au lieu de cela, sa configuration est passé dans la coulisse.

OriginalL'auteur sujith | 2015-07-20