zoukankan      html  css  js  c++  java
  • TestNG依赖测试

    有时,我们需要以特定顺序调用测试用例中的方法,或者可能希望在方法之间共享一些数据和状态。

    此时需要用到依赖,TestNG支持这种依赖关系,支持在测试方法之间显示依赖的声明。

    包括两种依赖:方法依赖和组依赖

    在@Test注解中使用属性dependsOnMethods和dependsOnGroups来实现。

    如果被依赖的方法执行失败,则将跳过所有后续测试方法!!!

    以下演示方法依赖:

    package com.janson.depend;
    
    import org.testng.Assert;
    import org.testng.annotations.Test;
    
    public class DependsOnMethodTest {
        @Test
        public void dependTest1() {
            //Assert.fail("error");
            System.out.println("dependTest1 运行!");
        }
    
        @Test(dependsOnMethods = {"dependTest1"})
        public void dependTest2() {
            System.out.println("dependTest2 运行!");
        }
    }

    在执行dependTest2()方法时会先执行dependTest1()方法,

    如果dependTest1()方法执行失败,dependTest2()方法将被忽略,不执行。

    ================================================================================================================

    以下演示组依赖:

    package com.janson.depend;
    
    import org.testng.Assert;
    import org.testng.annotations.Test;
    
    public class DependsOnGroupsTest {
    
        @Test(groups = "login")
        public void dependGroupsTest1() {
            System.out.println("欢迎登录");
        }
    
        @Test(groups = "charge")
        public void dependGroupsTest2() {
            Assert.fail("error...");
            System.out.println("你已成功充值");
        }
    
        @Test(dependsOnGroups = "login")
        public void dependGroupsTest3() {
            System.out.println("请您操作");
        }
    
        //同时依赖多个组,用{}
        @Test(dependsOnGroups = {"login","charge"})
        public void dependGroupsTest4() {
            System.out.println("请您选择需要购买的产品");
        }
    
    }

    执行dependGroupsTest3()时,会依赖login组

    执行dependGroupsTest4()时会同时依赖login和charge组

    因为login组不会报错,所以正常执行。而charge组执行报错,所以导致dependGroupsTest4()方法不会执行!

  • 相关阅读:
    NLP Best Practices
    Bert模型精简方法
    delphi:对象的创建(create)与释放(free/destory)(转载)
    delphi:Format格式化函数(转载)
    delphi:destroy, free, freeAndNil, release用法和区别(转载)
    delphi:function ParamStr(i:LongInt):string
    jquery:上传文件
    bootstrapValidator中用ajax校验
    jquery中实时监控文本框的变化
    jquery判断checkbox是否选中
  • 原文地址:https://www.cnblogs.com/janson071/p/10006490.html
Copyright © 2011-2022 走看看