我遇到了以下问题。我已经设置了一个包含2个节点的网格,以便并行运行测试。我的 suite.xml 文件有两个组,每个节点一个:
<suite name="testSuites" configfailurepolicy="continue" thread-count="2" parallel="tests">
test name="testSuite1" preserve-order="true">
<classes>
<class name="testA1" />
<class name="testB1" />
<class name="testC1" />
</classes>
</test>
<test name="testSuite2" preserve-order="true">
<classes>
<class name="testA2" />
<class name="testB2" />
<class name="testC2" />
</classes>
</test>
每个类(例如testA1
)都具有以下testNG配置:
@BeforeClass(alwaysRun = true)
public void createInitialData() {
}
@Test(alwaysRun = true, description = "bla bla")
public void testStep_1() throws Exception{
}
@Test(alwaysRun = true, description = "bla bla ", dependsOnMethods ="testStep_1" )
public void testStep_2() {
}
在运行时,我注意到在执行期间,测试按步骤顺序执行,意思是:
testA1-testStep_1, testB1-testStep_1, testC1-testStep_1, testA1-testStep_2, testB1-testStep_2, testC1-testStep_2
应该是:
testA1-testStep_1, testA1-testStep_2, and then testB1-testStep_1, testB1-testStep_2, testC1-testStep_1, testC1-testStep_2
有什么建议吗?
答案 0 :(得分:1)
尝试在xml
中设置逐个实例<suite group-by-instances="true">
或
<test group-by-instances="true">
答案 1 :(得分:0)
<test name="testSuite2" parallel="false">
似乎也在做你需要的事。