TestNG - Exécuter plusieurs classes de test (test de la suite)
Dans ce tutoriel, nous allons vous montrer comment exécuter plusieurs cas de test TestNG (classes) ensemble, aka test de suite.
1. Classes de test
Passez en revue les trois classes de test suivantes.
TestConfig.java
package com.example.testng.examples.suite; import org.testng.annotations.AfterSuite; import org.testng.annotations.AfterTest; import org.testng.annotations.BeforeSuite; import org.testng.annotations.BeforeTest; //show the use of @BeforeSuite and @BeforeTest public class TestConfig { @BeforeSuite public void testBeforeSuite() { System.out.println("testBeforeSuite()"); } @AfterSuite public void testAfterSuite() { System.out.println("testAfterSuite()"); } @BeforeTest public void testBeforeTest() { System.out.println("testBeforeTest()"); } @AfterTest public void testAfterTest() { System.out.println("testAfterTest()"); } }
TestDatabase.java
package com.example.testng.examples.suite; import org.testng.annotations.Test; public class TestDatabase { @Test(groups = "db") public void testConnectOracle() { System.out.println("testConnectOracle()"); } @Test(groups = "db") public void testConnectMsSQL() { System.out.println("testConnectMsSQL"); } @Test(groups = "db-nosql") public void testConnectMongoDB() { System.out.println("testConnectMongoDB"); } @Test(groups = { "db", "brokenTests" }) public void testConnectMySQL() { System.out.println("testConnectMySQL"); } }
TestOrder.java
package com.example.testng.examples.suite; import org.testng.annotations.Test; public class TestOrder { @Test(groups={"orderBo", "save"}) public void testMakeOrder() { System.out.println("testMakeOrder"); } @Test(groups={"orderBo", "save"}) public void testMakeEmptyOrder() { System.out.println("testMakeEmptyOrder"); } @Test(groups="orderBo") public void testUpdateOrder() { System.out.println("testUpdateOrder"); } @Test(groups="orderBo") public void testFindOrder() { System.out.println("testFindOrder"); } }
2. Testng.xml
Pour exécuter les classes de test ci-dessus, créez un fichier XML -testng.xml
(peut être n'importe quel nom de fichier) et définissez les détails comme ceci:
testng.xml
Sortie
[TestNG] Running: C:\example_projects\TestNG\src\test\resources\testng-all.xml testBeforeSuite() testBeforeTest() testFindOrder testMakeEmptyOrder testMakeOrder testUpdateOrder testAfterTest() testBeforeTest() testConnectMongoDB testConnectMsSQL testConnectMySQL testConnectOracle() testAfterTest() testAfterSuite()
3. Autres exemples
Voici quelques exemples d'utilisation courants.
3.1 Spécifiez les noms de package au lieu des noms de classe:
testng.xml
3.2 Spécifiez les méthodes à inclure ou à exclure:
testng.xml
Sortie
[TestNG] Running: C:\example_projects\TestNG\src\test\resources\testng.xml testBeforeSuite() testBeforeTest() testMakeOrder testUpdateOrder testAfterTest() testAfterSuite()
3.3 Spécifiez les groupes à inclure ou à exclure:
testng.xml
Sortie
[TestNG] Running: C:\example_projects\TestNG\src\test\resources\testng.xml testConnectMsSQL testConnectOracle()