繁体   English   中英

测试用例的TestNG顺序优先执行

[英]TestNG order of Test Case execution with priority

以下是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一个错误,还是因为某些特殊原因而导致我失踪?

不提供优先级并依赖于一起,您可以对测试进行分组。 你可以这样做:

@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");
}

这是TestNG已知的问题: https//github.com/cbeust/testng/issues/474

修复程序将在下一个版本中提供(可能是6.9.14): https//github.com/cbeust/testng/pull/1158

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM