版权声明:本文为博主原创文章,转载请注明作者和出处! https://blog.csdn.net/tterminator/article/details/80035043
一、背景
最近使用的测试框架由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注解。