我面临以下问题:我创建了两个类,其中包括具有优先级属性的@Tests:
@Test( priority = 1 )
public void testA1() {
System.out.println("testA1");
}
@Test( priority = 2 )
public void testA2() {
System.out.println("testA2");
}
@Test( priority = 3 )
public void testA3() {
System.out.println("testA3");
}
...和...
@Test( priority = 1 )
public void testB1() {
System.out.println("testB1");
}
@Test( priority = 2 )
public void testB2() {
System.out.println("testB2");
}
@Test( priority = 3 )
public void testB3() {
System.out.println("testB3");
}
我将两个类都放在了testng.xml中的一个测试中,但是当我运行测试时,它将根据两个类的优先级对我的@Tests进行排序:
testA1
testB1
testA2
testB2
testA3
testB3
我期待以下结果:
testA1
testA2
testA3
testB1
testB2
testB3
我的问题是,如何防止基于两个类来订购我的@Tests并同时仅从一个类运行@Tests?
最佳答案
在套件xml中,使用group-by-instances =“ true”
示例,其中TestClass1和TestClass2与您的内容相同
<suite thread-count="2" verbose="10" name="testSuite" parallel="tests">
<test verbose="2" name="MytestCase" group-by-instances="true">
<classes>
<class name="com.crazytests.dataproviderissue.TestClass1" />
<class name="com.crazytests.dataproviderissue.TestClass2" />
</classes>
</test>
</suite>
我得到了输出
testA1
testA2
testA3
testB1
testB2
testB3
关于testng - TestNG中具有多个类的优先级,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26632241/