TestNG每次运行依赖方法

时间:2014-01-24 14:30:56

标签: java testing junit integration-testing testng

我正在使用TestNG 6.5.1。

所以我有测试方法B和C,它们依赖于测试方法A.有没有办法在运行方法B之前运行方法A,还有在运行方法C之前再次运行方法A.

我知道显而易见的方法是调用方法,但我不希望这样,因为如果方法A失败,我不希望方法C也失败,但是要跳过。如果您只有这三种方法,那么要求采用另一种方式似乎很愚蠢,但是当您拥有一个比一切更改更复杂的依赖树时......

2 个答案:

答案 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之前运行,如果失败则会跳过它们。