TestNG - Запуск нескольких тестовых классов (набор тестов)
В этом руководстве мы покажем вам, как запускать несколько тестовых случаев (классов) TestNG вместе, также как и набор тестов.
1. Тестовые занятия
Просмотрите следующие три тестовых класса.
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
Чтобы запустить вышеуказанные тестовые классы, создайте файл XML - файлtestng.xml
(может быть любое имя файла) и определите детали следующим образом:
testng.xml
Выход
[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. Другие примеры
Вот несколько распространенных примеров использования.
3.1 Укажите имена пакетов вместо имен классов:
testng.xml
3.2 Укажите методы для включения или исключения:
testng.xml
Выход
[TestNG] Running: C:\example_projects\TestNG\src\test\resources\testng.xml testBeforeSuite() testBeforeTest() testMakeOrder testUpdateOrder testAfterTest() testAfterSuite()
3.3 Укажите группы, которые нужно включить или исключить:
testng.xml
Выход
[TestNG] Running: C:\example_projects\TestNG\src\test\resources\testng.xml testConnectMsSQL testConnectOracle()