与 How can I make my JUnit tests run in random order?类似,我希望TestNG以随机顺序运行我的测试,因此无意识的依赖关系无法进入. TestNG manual states: By default, TestNG will run the tests found in your testng.xml
TestNG manual states:
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将为您提供将订购更改为您喜欢的任何内容的机会.