• testNG方法分组测试


    testNG组测试可以分为方法分组测试类分组测试。

    一、方法分组测试

    方法的分组 主要是在@Test中添加groups参数。相同的groups参数值 为同一组,通过testng.xml的<groups>下的<run>下的<include>标签中的name值调用。如果xml<include>标签中的name和@Test中添加groups参数一致,则会运行。反之则不会运行。

    代码如下

     1 package com.course.testng.groups;
     2 
     3 import org.testng.annotations.AfterGroups;
     4 import org.testng.annotations.BeforeGroups;
     5 import org.testng.annotations.Test;
     6 
     7 public class GroupsOnMethod {
     8     @Test(groups = "server")
     9     public void test1() {
    10         System.out.println("这是服务端的测试方法1");
    11     }
    12 
    13     @Test(groups = "server")
    14     public void test2() {
    15         System.out.println("这是服务端的测试方法2");
    16     }
    17 
    18     @Test(groups = "client")
    19     public void test3() {
    20         System.out.println("这是客户端的测试方法3");
    21     }
    22 
    23     @Test(groups = "client")
    24     public void test4() {
    25         System.out.println("这是客户端的测试方法4");
    26     }
    27 
    28     @BeforeClass("server")
    29     public void beforeGroupsOnServier() {
    30         System.out.println("这是服务端组运行之前运行的方法");
    31     }
    32 
    33     @AfterGroups("server")
    34     public void afterGroupsOnServier() {
    35         System.out.println("这是服务端组运行之后运行的方法");
    36     }
    37 
    38 }

    testng.xml 如下

     1 <?xml version="1.0" encoding="UTF-8" ?>
     2 <suite name="test">
     3     <test name="groupsmethod">
     4         <groups>
     5             <run>
     6                 <include name="server"/>
     7             </run>
     8         </groups>
     9         <classes>
    10             <class name="com.course.testng.groups.GroupsOnMethod"/>
    11         </classes>
    12     </test>
    13 </suite>

    运行结果如下

     1   E:Program FilesworkspacemukeAotoTestchapter5srcmain
    esourcesgroupsOnMethod.xml
     2 这是服务端的测试方法1
     3 
     4 这是服务端的测试方法2
     5 
     6 ===============================================
     7 test
     8 Total tests run: 2, Failures: 0, Skips: 0
     9 ===============================================
    10 
    11 Process finished with exit code 0

    注意事项:

    由以上执行结果可以看出来,@Test(groups = "server")会被执行,但@BeforeGroups("server")和@BeforeClass("server")都不会执行。如果需要执行可以使用always参数。如@AfterClass( alwaysRun = true)

  • 相关阅读:
    three.js详解
    Javascript的原型
    Transform? Transition? Animation?
    Backbone源码分析Backbone架构+流程图
    对象是引用的注意原型中的属性改变
    MySQL+ JSP+Tomcat開發指引
    MySQL應用分析
    SQL 日期
    MySQL安裝
    MSE错误应对分享
  • 原文地址:https://www.cnblogs.com/linxinmeng/p/12592111.html
Copyright © 2020-2023  润新知