idea中testNg运行group测试用例

一、背景

最近使用的测试框架由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注解。
这里写图片描述

  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
TestNG支持测试用例的依赖关系,即一个测试方法依赖于另外一个测试方法的执行结果。如果一个测试方法依赖于另外一个测试方法,那么在运行测试套件时,TestNG会先运行被依赖的测试方法,如果该方法执行成功,再运行依赖该方法的测试方法。这样能够确保测试方法的执行顺序和依赖关系。 TestNG提供了两种方式来实现测试用例的依赖: 1. 通过dependsOnMethods属性实现依赖关系 在@Test注解使用dependsOnMethods属性来指定被依赖的测试方法。例如: ``` @Test public void loginTest() { //登录测试逻辑 } @Test(dependsOnMethods = {"loginTest"}) public void searchTest() { //搜索测试逻辑 } ``` 在上面的例子,searchTest方法依赖于loginTest方法,因此在运行测试套件时,TestNG会先运行loginTest方法,如果该方法执行成功,再运行searchTest方法。 2. 通过dependsOnGroups属性实现依赖关系 在@Test注解使用dependsOnGroups属性来指定被依赖的测试组。例如: ``` @Test(groups = {"login"}) public void loginTest() { //登录测试逻辑 } @Test(groups = {"search"}, dependsOnGroups = {"login"}) public void searchTest() { //搜索测试逻辑 } ``` 在上面的例子,searchTest方法依赖于一个名为“login”的测试组,而loginTest方法属于该测试组。因此在运行测试套件时,TestNG会先运行loginTest方法,如果该方法执行成功,再运行searchTest方法。 使用dependsOnMethods或dependsOnGroups属性可以方便地实现测试用例的依赖关系,但是需要注意依赖关系的正确性和可维护性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值