idea中testNg运行group测试用例
阅读原文时间:2021年04月20日阅读:1

一、背景

最近使用的测试框架由Junit切换到了testNg,在testNg中可以把测试用例进行分组,并且可以指定运行时只跑指定group的测试用例。下面就详细介绍下如何在idea运行group测试用例。

二、编写Java测试用例

1、项目结构

2、在本测试用例中,case分为两组:test1和test2。

import org.testng.annotations.AfterGroups;
import org.testng.annotations.BeforeGroups;
import org.testng.annotations.DataProvider;
import org.testng.annotations.Test;

public class DataProviderTest {
    @DataProvider(name = "params")
    public Object [][] dataProvider(){
        return new Object[][]{
                {"A", 65},
                {"B", 66},
                {"C", 67}
        };
    }

    @Test(dataProvider = "params", groups = {"test2","test1"})
    public void printParam(String str, int i){
        System.out.println("strParam = " + str + " ,i = " + i);
    }

    @BeforeGroups(groups={"test1"})
    public void setUp(){
        System.out.println("Method---setup");
    }

    @AfterGroups(groups={"test1"})
    public void tearDown(){
        System.out.println("Method---tearDown");
    }

    @Test(groups = "test1")
    public void test1(){
        System.out.println("this test1");
    }

}

三、编写xml文件

在该配置文件中,我们指定只跑group为test1的case。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="test-xml">

    <test name="dataProviderTest">

        <groups>
            <run>
                <include name="test1" />
                <exclude name="test2" />
            </run>
        </groups>

        <classes>
            <class name="DataProviderTest"/>
        </classes>

    </test>

</suite>

四、运行group测试用例

1、使用idea运行group

打开测试类配置,选择Test kind并指定xml位置,配置完成后点击运行:

2、使用maven运行group

使用如下命令运行:

mvn -f pom.xml clean test -DxmlFileName=testNg.xml

其中pom.xml需要指定xml的位置:

五、运行结果

在本次试验过程中也顺便试验了@BeforeGroups和@AfterGroups注解。