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>

猜你喜欢

转载自www.cnblogs.com/peiminer/p/9555756.html