testng套件不按指定的顺序运行

时间:2018-06-13 03:13:47

标签: java testng

我有以下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或更多时,测试将以上述模式执行。

这里可能有什么问题?

1 个答案:

答案 0 :(得分:0)

我发现了这个问题。原因是类Test22没有任何测试方法。那里的测试已被评论出来。当测试再次添加到课程中时,套件开始按预期顺序再次运行。

不确定这是否是Testng中的错误。