我正在使用TestNG 6.5.1。
所以我有测试方法B和C,它们依赖于测试方法A.有没有办法在运行方法B之前运行方法A,还有在运行方法C之前再次运行方法A.
我知道显而易见的方法是调用方法,但我不希望这样,因为如果方法A失败,我不希望方法C也失败,但是要跳过。如果您只有这三种方法,那么要求采用另一种方式似乎很愚蠢,但是当您拥有一个比一切更改更复杂的依赖树时......
答案 0 :(得分:0)
在测试方法上使用“dependsOnMethods”注释。
样品: -
@Test(dependsOnMethods="method2")
public void method1(){
}
请参阅此answer并更改beforeInvocation(),如下所示
public void beforeInvocation(IInvokedMethod method, ITestResult itr) {
if (method.isTestMethod()) {
//call any method
}
}
答案 1 :(得分:0)
您可以将方法A从@Test更改为@BeforeMethod吗?然后它将在B和C之前运行,如果失败则会跳过它们。