zoukankan      html  css  js  c++  java
  • TestNg 顺序依赖

    1. 在TestNG的测试中,一个测试方法的执行往往需要依赖其他测试方法的先期或延后执行,这种测试方法的执行先后顺序就被称为测试方法之间的依赖关系。

    @Test  
    public void serverStartedOk() {}//被依赖的测试方法  
       
    @Test(dependsOnMethods = { "serverStartedOk" })  
    public void method1() {}  

    2.多个被依赖的测试方法

    一个测试方法可能依赖一个测试方法,也可能依赖多个测试方法。对于多个被依赖的测试方法,可以通过方法名直接给出,也可以通过组名给出被依赖的测试方法。

    1) 在测试类中通过方法名给出被依赖的测试方法,示例如下:

    @Test  
    public void serverStartedOk1() {}  
       
    @Test  
    public void serverStartedOk2() {}  
      
    @Test(dependsOnMethods = { "serverStartedOk1",  "serverStartedOk2" })  
    public void method1() {}  

    2) 在测试类中通过组名给出被依赖的测试方法.

    3) 在testng.xml配置文件中通过组名给出被依赖的测试方法:

    <test name="Alice Test">  
      <groups>  
        <dependencies>  
          <group name="c" depends-on="a  b" />  
          <group name="d" depends-on="c" />  
        </dependencies>  
      </groups>  
    </test>  

    强制依赖: 如果被依赖的某一个方法发生了异常,那么之后的方法都不会被执行(默认)

    @Test(dependsOnGroups = { "init.*" })  
        public void method1() {  
            System.err.println("I am over here.....");  
        }  

    顺序依赖:无论被依赖的方法是否出现异常,后续的方法都会被执行,通过alwaysRun=“true”来配置

     @Test(dependsOnGroups = { "init.*" }, alwaysRun = true)  
        public void method1() {  
            System.err.println("I am over here.....");  
        }  

    另外

    使用<groups>标记在testng.xml文件中指定分组。 它可以在<test><suite>标签下找到。 <suite>标签中指定分组适用于其下的所有<test>标签。

    在测试类里面,“分组”可以在类上应用。 在下面的示例中,此时每个公共方法都属于分组: 

    @Test(groups = "smoke-test")
    public class TestGroupOnClass{
    
        .....
    }
  • 相关阅读:
    php 数据类型
    Django REST framework基础:视图和路由
    Django REST framework基础:序列化
    android 适配器 ArrayAdapter,SimpleAdapter的学习
    关于系统模块设计的一点疑问?
    看了看 #ifndef 和#pragma once 的区别
    ace.js 中文手册
    .net core 3.1发布时视图Views文件夹不被打打包成.dll文件解决办法
    Asp.net core应用在 Kubernetes上内存使用率过高问题分析
    .Net Core内存回收模式及性能测试对比
  • 原文地址:https://www.cnblogs.com/alicegu2009/p/9171489.html
Copyright © 2011-2022 走看看