我有以下testng测试套件。
<suite name="MySuite" parallel="false">
<test name="MyTest" parallel="false" preserve-order="true">
<classes>
<class name="com.my.package.Test1"/>
<class name="com.my.package.Test2"/>
<class name="com.my.package.Test3"/>
<class name="com.my.package.Test4"/>
<class name="com.my.package.Test5"/>
<class name="com.my.package.Test6"/>
<class name="com.my.package.Test7"/>
<class name="com.my.package.Test8"/>
<class name="com.my.package.Test9"/>
<class name="com.my.package.Test10"/>
<class name="com.my.package.Test11"/>
<class name="com.my.package.Test12"/>
<class name="com.my.package.Test13"/>
<class name="com.my.package.Test14"/>
<class name="com.my.package.Test15"/>
<class name="com.my.package.Test16"/>
<class name="com.my.package.Test17"/>
<class name="com.my.package.Test18"/>
<class name="com.my.package.Test19"/>
<class name="com.my.package.Test20"/>
<class name="com.my.package.Test21"/>
<class name="com.my.package.Test22"/>
<class name="com.my.package.Test23"/>
<class name="com.my.package.Test24"/>
<class name="com.my.package.Test25"/>
</classes>
</test>
</suite>
我使用的是testng 6.14.3
我用以下命令执行套件。
mvn test -DsuiteXmlFile=suite.xml
我希望测试按照xml中指定的顺序运行(我使用了preserve-order="true"
属性)。但是,测试按以下顺序执行。
com.my.package.Test1
com.my.package.Test23
com.my.package.Test2
com.my.package.Test24
com.my.package.Test3
com.my.package.Test25
com.my.package.Test4
com.my.package.Test5
com.my.package.Test6
...
...
如果测试类的数量小于23,则它们按给定顺序运行。但是,当计数为23或更多时,测试将以上述模式执行。
这里可能有什么问题?
答案 0 :(得分:0)
我发现了这个问题。原因是类Test22
没有任何测试方法。那里的测试已被评论出来。当测试再次添加到课程中时,套件开始按预期顺序再次运行。
不确定这是否是Testng中的错误。