TestNG - запускать несколько тестовых классов (набор тестов)

TestNG - Запуск нескольких тестовых классов (набор тестов)

testng-suite-test

В этом руководстве мы покажем вам, как запускать несколько тестовых случаев (классов) 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()

Рекомендации