• TestNg 5.类分组


    类分组是可以给类去分组,几个类分成不同的组。

    比如,建立3个类GroupsOnClass1,GroupsOnClass2,GroupsOnClass3.   GroupsOnClass1和GroupsOnClass2是一类(stu),GroupsOnClass3是一类(teacher)。

    在resource里面在新建一个groupsOnClass.xml

    以下是目录结构:

    代码如下:@Test可以加到类外面,和家在每个方法前面是一样的效果。

    #GroupsOnClass1
    
    package com.course.testng.groups;
    
    import org.testng.annotations.Test;
    
    @Test(groups = "stu")
    public class GroupsOnClass1 {
    
        public void stu1(){
            System.out.println("GroupsOnClass1中的stu111运行" );
        }
    
        public void stu2(){
            System.out.println("GroupsOnClass1中的stu222运行" );
        }
    
    }
    #GroupsOnClass2
    
    package com.course.testng.groups;
    
    import org.testng.annotations.Test;
    
    @Test(groups = "stu")
    public class GroupsOnClass2 {
    
        public void stu1(){
            System.out.println("GroupsOnClass2中的stu111运行" );
        }
    
        public void stu2(){
            System.out.println("GroupsOnClass2中的stu222运行" );
        }
    }
    #GroupsOnClass3
    
    package com.course.testng.groups;
    
    import org.testng.annotations.Test;
    
    @Test(groups = "teacher")
    public class GroupsOnClass3 {
    
        public void teacher1(){
            System.out.println("GroupsOnClass3中的teacher1111运行" );
        }
    
        public void teacher2(){
            System.out.println("GroupsOnClass3中的teacher2222运行" );
        }
    }
    #groupsOnClass.xml
    <?xml version="1.0" encoding="UTF-8" ?>
    <suite name="suitename">
        <test name="runAll">
            <classes>
                <class name="com.course.testng.groups.GroupsOnClass1"/>
                <class name="com.course.testng.groups.GroupsOnClass2"/>
                <class name="com.course.testng.groups.GroupsOnClass3"/>
    
            </classes>
        </test>
    
        <test name="onlyRunStudent">
            <groups>
                <run>
                    <include name="stu"/>
                </run>
            </groups>
            <classes>
                <class name="com.course.testng.groups.GroupsOnClass1"/>
                <class name="com.course.testng.groups.GroupsOnClass2"/>
                <class name="com.course.testng.groups.GroupsOnClass3"/>
    
            </classes>
        </test>
    
    </suite>

    执行结果:(可以看出最下面并没有执行teacher的组。)

    GroupsOnClass1中的stu111运行
    GroupsOnClass1中的stu222运行
    GroupsOnClass2中的stu111运行
    GroupsOnClass2中的stu222运行
    GroupsOnClass3中的teacher1111运行
    GroupsOnClass3中的teacher2222运行
    GroupsOnClass1中的stu111运行
    GroupsOnClass1中的stu222运行
    GroupsOnClass2中的stu111运行
    GroupsOnClass2中的stu222运行

    ===============================================
    suitename
    Total tests run: 10, Failures: 0, Skips: 0
    ===============================================


    Process finished with exit code 0

    说明:

    name = “runAll” 的test,将所有的类里面的测试用例都运行了

    name = “onlyRunStudent” 只是运行了groups=“stu”的类。这是因为在test标签中,添加了以下代码,标志只运行groups的name是“stu”的类中的测试用例。

    <groups>
           <run>
                <include name="stu"/>
           </run>
    </groups>
  • 相关阅读:
    500 多个 Linux 命令文档搜索
    C++ 字符串基本操作
    串的模式匹配算法
    查看、启动、关闭防火墙
    天润融通面试
    LeetCode 169. 求众数
    【面试题】人人车一次面试总结
    一个完整的 JS 身份证校验代码
    oracle多表查询
    百度地图的Icon
  • 原文地址:https://www.cnblogs.com/peiminer/p/9555756.html
Copyright © 2020-2023  润新知