unit-testing - 以随机顺序运行 TestNG 测试

标签 unit-testing testing testng

类似于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 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/

相关文章:

php - 我在哪里可以找到 Simpletest 的扩展 HTML 报告程序?

asp.net-mvc - ASP.net MVC 3.0的质量检查测试自动化

java - TestNG:如何从DataProvider获取Factory即将创建的类

java - 使用提供程序时覆盖 TestNG 测试名称并省略参数

java - 使用 Mockito 测试抽象类不会给出预期结果

postgresql - 去模拟 postgresql 错误

php - 在单元测试中模拟被测试的对象是不是很糟糕?

.net - .NET项目中单元测试和验收测试的实现

安卓 : Launch test on device FROM device/application

javascript - 在 Cypress 中递增和递减 &lt;input type ="number"/> 的值