类似于How can I make my JUnit tests run in random order? ,我希望 TestNG 以随机顺序运行我的测试,这样就不会出现意外的依赖关系。
By default, TestNG will run the tests found in your testng.xml file in a random order.
但是,我创建了一个小型测试项目,其中包含一个简单的 testng.xml:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >
<suite name="My suite">
<test name="Simple test">
<packages>
<package name="testngtests"></package>
</packages>
</test>
</suite>
testngtests
包包含两个测试类(MyTest1、MyTest2),其中包含一些空方法,如下所示:
@Test
public void testOne(){
}
测试方法都是空的,只是名称不同。
当我运行它们时(使用 Eclipse TestNG 运行器或在命令行上),测试始终以相同的顺序运行(即按字母顺序排序,首先按类,然后按方法名称)。
那么文档有错吗?
或者“按随机顺序”仅仅意味着“没有保证的顺序”?那么如何让TestNG主动随机化测试顺序呢?
最佳答案
是的,“随机”确实应该是“不可预测的”。
如果您想要真正的随机化,请查找 IMethodInterceptor,TestNG 将为您提供将顺序更改为任何您喜欢的顺序的机会。
关于unit-testing - 以随机顺序运行 TestNG 测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7648229/