@Test(TestNG)注释有6种方法。我想按顺序使用@Test运行前三个方法,使用TestNG并行地使用@Test运行接下来的三个方法。我怎样才能做到这一点?
以下是代码段:
@Test
public void m1(){
}
@Test
public void m2(){
}
@Test
public void m3(){
}
@Test
public void m4(){
}
@Test
public void m5(){
}
@Test
public void m6(){
}
非常感谢您的期待!
答案 0 :(得分:0)
好的,为了保留订单,您可以使用优先级:
@Test (priority=1)
public void m1(){
}
@Test (priority=2)
public void m2(){
}
@Test (priority=3)
public void m3(){
}
请注意,您不需要为其余方法(4-6)设置优先级,因为您要并行运行它们。这是你的xml,为了运行它:
!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >
<suite name="Regression" parallel="methods" thread-count="3">
<test name="smokeTest">
<classes>
<class name="regression.sequentialParallelExecution"/>
</classes>
</test>
</suite>
值得注意的是上面的XML:
PS。如果您希望方法2在方法1失败时不执行,那么您可以使用依赖于以下方法:
@Test (priority=1)
public void m1(){
}
@Test (priority=2, dependsOnMethods="m1")
public void m2(){
}
祝你好运!
请注意编辑我帖子的Julian。首先,非常感谢,我不知道dependsOnMethods优先考虑。我不得不承认,我有点困惑。我一直在成功使用优先级和依赖方法共同获得所需的结果。为了仔细检查我的发现,我发现了这篇文章priorities and dependsOnMethods。我直接复制粘贴了OP发布的代码并立即得到&#39;预期结果&#39; ,没有任何修改。如果可以进一步解释,我会很高兴。干杯!强>