testNG-关于@BeforeClass和@AfterClass中inheritGroups属性的理解

inheritGroups = true 默认是true,该方法用于限定在class类级别上,限制class类中的@BeforeClass和
@AfterClass注解的方法是否执行

@Test(groups = "级别1")
public class Testc {

    @Test(groups="级别1")
    public void testc_1(){
        System.out.println("testccc_1级别1执行了");
    }

    @Test(groups="级别2")
    public void testc_2(){
        System.out.println("testccc_2级别2执行了");
    }

    @BeforeClass(inheritGroups = false)
    public void testc_3(){
        System.out.println("testccc_3级别3执行了");
    }

    @AfterClass(inheritGroups = false)
    public void testc_4(){
        System.out.println("testccc_4级别3执行了");
    }
}

执行上文中的Testc类,结果如下:
testccc_3级别3执行了
testccc_1级别1执行了
testccc_2级别2执行了
testccc_4级别3执行了

===============================================
Default Suite
Total tests run: 2, Failures: 0, Skips: 0

由此可见,inheritGroups的设置,对于直接执行整个测试类来说没有影响。

利用xml文件,按照类级别的分组,执行测试类:
注意⚠️:此处是类级别,class类上必须有@Test(groups = “级别1”)的注解

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

<suite name="套件">
    <test name="运行对应的BeforeClass方法">

        <groups>
            <run>
                <include name="级别1"/>
            </run>
        </groups>

        <classes>
            <class name="com.***.***.auto.test.common.local.demo.Testc"/>
        </classes>
    </test>
</suite>

执行XML后结果如下:
testccc_1级别1执行了
testccc_2级别2执行了

===============================================
套件
Total tests run: 2, Failures: 0, Skips: 0

若对Testc中的testc_3方法inheritGroups的设置删除,默认为true

    @BeforeClass()
    public void testc_3(){
        System.out.println("testccc_3级别3执行了");
    }

执行结果为:
testccc_3级别3执行了
testccc_1级别1执行了
testccc_2级别2执行了

===============================================
套件
Total tests run: 2, Failures: 0, Skips: 0

由此可见,inheritGroups的设置,在通过XML执行类级分组脚本时,决定@BeforeClass和@AfterClass注解的方法是否执行。注意:此处的分组必须为class类级,不能为方法级分组注解

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值