栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

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

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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后结果如下:
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类级,不能为方法级分组注解

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/306942.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号