有时候我们测试一个方法可能需要依赖另个一方法的测试数据活结果,因此就需要使用依赖测试
依赖测试则是通过 @Test注释中使用属性dependsOnMethods、dependsOnGroups 实现的
hard依赖:默认为此依赖方式,即其所有依赖的methods或者groups必须全部pass,否则被标识依赖的类或者方法将会被略过,在报告中标识为skip,
soft依赖:此方式下,其依赖的方法或者组有不是全部pass也不会影响被标识依赖的类或者方法的运行,注意如果使用此方式,则依赖者和被依赖者之间必须不存在成功失败的因果关系,否则会导致用例失败。此方法在注解中需要加入alwaysRun=true即可,如@Test(dependsOnMethods= {"TestNgLearn1"}, alwaysRun=true);
例子如下:
1 public class TestNGDependsTest { 2 @Test 3 public void f1() { 4 System.out.println("我是f1方法"); 5 int a =1/0; 6 } 7 @Test(dependsOnMethods="f1") 8 public void f2() { 9 System.out.println("我f2需要依赖f1方法,f1失败,我跳过也不执行"); 10 } 11 @Test(dependsOnMethods="f1",alwaysRun=true) 12 public void f3() { 13 System.out.println("我f3需要依赖f1方法,f1失败,我可以继续执行"); 14 } 15 }