以下是TestNG
测试用例类中的测试方法:
@Test (priority=0)
public void test01() {
}
@Test (priority=1, dependsOnMethods="test01")
public void test02() {
}
@Test (priority=2)
public void test03() {
}
@Test (priority=3)
public void test04() {
}
执行顺序为test01 - test03 - test04 - test02
。
这似乎是不正确的,因为到达test02
时,依赖测试方法test01
已经执行。因此test02
应立即执行。我觉得正确的顺序是test01 - test02 - test03 - test04
这是TestNG
中的错误,还是因为某些特殊原因导致我失踪?
答案 0 :(得分:0)
不要提供优先级并依赖于一起,您可以对测试进行分组。你可以这样做:
@Test(priority = 1, groups = { "qty" })
public void increaseQty() {
System.out.println("in increase qty");
}
@Test(dependsOnMethods = { "increaseQty" }, groups = { "qty" })
public void decreaseQty() {
System.out.println("in decrease qty");
}
@Test(dependsOnGroups = { "qty" })
public void removeFromCart() throws Exception {
System.out.println("remove qty");
}
@Test(dependsOnMethods = { "removeFromCart" })
public void emptyCart() throws InterruptedException {
System.out.println("empty Cart");
}
答案 1 :(得分:-1)
它是TestNG已知问题:https://github.com/cbeust/testng/issues/474
修复程序将在下一个版本中提供(可能是6.9.14):https://github.com/cbeust/testng/pull/1158