来自不同类的TestNGdependsOnMethods

当要依赖的测试与具有此批注的测试属于同一类时dependsOnMethods@Test批注的属性可以正常工作。但是,如果要测试的方法和依赖的方法位于不同的类中,则该方法不起作用。示例如下:

class c1 {

@Test

public void verifyConfig() {

//verify some test config parameters

}

}

class c2 {

@Test(dependsOnMethods={"c1.verifyConfig"})

public void dotest() {

//Actual test

}

}

有什么办法可以解决这个限制?一种简单的解决方法是在class c2该调用中创建测试c1.verifyConfig()。但这将是过多的重复。

回答:

将方法放在中group并使用dependsOnGroups

class c1 {

@Test(groups={"c1.verifyConfig"})

public void verifyConfig() {

//verify some test config parameters

}

}

class c2 {

@Test(dependsOnGroups={"c1.verifyConfig"})

public void dotest() {

//Actual test

}

}

建议验证@Before*中的配置,并在该处出现问题时抛出错误,以使测试无法运行。这样,测试可以只关注测试。

class c2 {

@BeforeClass

public static void verifyConfig() {

//verify some test config parameters

//Usually just throw exceptions

//Assert statements will work

}

@Test

public void dotest() {

//Actual test

}

}

以上是 来自不同类的TestNGdependsOnMethods 的全部内容, 来源链接: utcz.com/qa/415671.html

回到顶部