TestNG - Mehrere Testklassen ausführen (Suite-Test)
In diesem Tutorial zeigen wir Ihnen, wie Sie mehrere TestNG-Testfälle (Klassen) zusammen ausführen, auch bekannt als Suite-Test.
1. Testklassen
Überprüfen Sie die folgenden drei Testklassen.
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
Um die obigen Testklassen auszuführen, erstellen Sie eine XML-Datei -testng.xml
(kann ein beliebiger Dateiname sein) und definieren Sie Details wie folgt:
testng.xml
Ausgabe
[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. Andere Beispiele
Hier sind einige Beispiele für die allgemeine Verwendung.
3.1 Geben Sie Paketnamen anstelle von Klassennamen an:
testng.xml
3.2 Geben Sie Methoden an, die eingeschlossen oder ausgeschlossen werden sollen:
testng.xml
Ausgabe
[TestNG] Running: C:\example_projects\TestNG\src\test\resources\testng.xml testBeforeSuite() testBeforeTest() testMakeOrder testUpdateOrder testAfterTest() testAfterSuite()
3.3 Geben Sie Gruppen an, die eingeschlossen oder ausgeschlossen werden sollen:
testng.xml
Ausgabe
[TestNG] Running: C:\example_projects\TestNG\src\test\resources\testng.xml testConnectMsSQL testConnectOracle()