2
我在这里看到类似的问题,但似乎没有解决问题。 我有下面的代码;TestNg使用dependsOnMethods和优先级违反优先
@Test(priority=2)
public void increaseQty(){
System.out.println("in increase qty");}
@Test(priority=2,dependsOnMethods={"increaseQty"})
public void decreaseQty(){
System.out.println("in decrease qty");}
@Test(priority=3)
public void removeFromCart() throws Exception{
System.out.println("remove qty");}
@Test(priority=3,dependsOnMethods={"removeFromCart"})
public void emptyCart() throws InterruptedException{
System.out.println("empty Cart");}
预期的运行顺序是
increaseQty
decreaseQty
removeFromCart
emptyCart
但实际序列
increaseQty
removeFromcart
decreaseQty
emptyCart
我无法理解为什么它不按指定顺序。 在我看来,似乎它首先运行的独立方法,然后是依赖性,而不考虑优先级,但在文档的任何地方都没有提到这种行为。我应该怎么做才能使它按照所需的顺序运行
我发现这个答案正确kindly标记它其他的任何差异让我们知道...谢谢 – 2014-11-24 13:27:02
你的答案解决了这个问题,但根据我的理解,在您的测试中添加不需要的依赖关系不是一个最佳做法。如果组中有任何方法失败,那么其余的将被跳过,我不想要 – 2014-11-25 06:09:45
另一种方式,你可以实现它是通过在你的testng.xml文件中添加方法名,以便你希望它们执行..就像我在回答中编辑的方式,或者你可以按照T1_increaseQty,T2_decreaseQty等顺序命名你的测试。据我注意到,TestNg在按字母顺序命名测试的基础上执行。 – 2014-11-25 06:49:26