[TestNG @Test方法未在xml中以指定顺序执行,当我们在类中添加依赖项时

问题描述 投票:0回答:1

如果我有如下的类和xml:

class Test 
{

  @Test 
  public void method1() {}

  @Test (dependsOn = "method1") 
  public void method2() {}

  @Test (dependsOn = "method2") 
  public void method3() {}



  @Test (dependsOn = "method1") 
  public void otherMethod() {}

}

XML

<test name="XYZ" preserve-order="true" group-by-instances="true">
    <classes>
     <class name="Test">
      <methods>
        <include name="method1"/> 
        <include name="method2"/> 
        <include name="method3"/> 
        <include name="otherMethod"/> 
       </methods>
      </class>
     </classes>
    </test>

注意:假设所有方法都会通过

执行顺序:

方法1方法2其他方法方法3

因为method2和otherMethod取决于method1,所以它们首先执行,然后执行method3,尽管method3在XML中的method之前。

我们如何以XML定义的顺序执行这些方法?

预期订单:

方法1方法2方法3其他方法@

[如果我具有以下类和xml:类Test {@Test public void method1(){} @Test(dependsOn =“ method1”)public void method2(){} @Test(dependsOn =“ method2”)public void ...

testng testng.xml testng-annotation-test
1个回答
0
投票

似乎otherMethod依赖method3,因为需要严格的顺序。在这种情况下,我建议将此依赖项添加到otherMethod中。

@Test (dependsOnMethods  = {"method1", "method3"}) 
public void otherMethod() {
}
© www.soinside.com 2019 - 2024. All rights reserved.