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()方法不会执行!

原文地址:https://www.cnblogs.com/janson071/p/10006490.html