79 votes

Ordre d'exécution des tests dans TestNG

Comment personnaliser l'ordre d'exécution des tests dans TestNG ?

Par exemple :

public class Test1 {
  @Test
  public void test1() {
      System.out.println("test1");
  }

  @Test
  public void test2() {
      System.out.println("test2");
  }

  @Test
  public void test3() {
      System.out.println("test3");
  }
}

Dans la suite ci-dessus, l'ordre d'exécution des tests est arbitraire. Pour une exécution, la sortie peut être :

test1
test3
test2

Comment exécuter les tests dans l'ordre dans lequel ils ont été écrits ?

65voto

Cedric Beust Points 7209

Dans TestNG, vous utilisez dependOnMethods et/ou dependsOnGroups :

@Test(groups = "a")
public void f1() {}

@Test(groups = "a")
public void f2() {}

@Test(dependsOnGroups = "a")
public void g() {}

Dans ce cas, g() ne fonctionnera qu'après que f1() et f2() ont terminé et réussi.

Vous trouverez de nombreux exemples dans la documentation : http://testng.org/doc/documentation-main.html#test-groups

30voto

user2759895 Points 51

Pour répondre au scénario spécifique en question :

@Test
public void Test1() {

}

@Test (dependsOnMethods={"Test1"})
public void Test2() {

}

@Test (dependsOnMethods={"Test2"})
public void Test3() {

}

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X