surefire 和failsafe 插件可以故意随机化测试类的执行顺序吗?

Pet*_*ahn 4 maven maven-surefire-plugin maven-failsafe-plugin

看起来surefire 和failsafe 插件按顺序执行测试类,而在类中定义的测试以不确定的顺序执行。

为了发现依赖于顺序的测试(我们认为是糟糕的测试),我们希望强制每次运行的顺序不同。理想情况下,我们有一个机制来禁用随机化或一个重复顺序的种子编号(必须像旧的 Palm OS 模拟器有一个种子编号来驱动一系列随机测试)。

如果您知道这样做的方法,请告诉我?如果没有,我想我可以将其放入本地分支然后提交。

谢谢

彼得

quu*_*x00 6

其他一些答案链接到 surefire Maven 文档页面,但与大多数 Maven 文档一样,它没有提供如何在 Maven XML 沼泽中实际指定设置的示例。以下是使用surefire插件的方法:

<properties>
  <surefire.plugin.version>2.16</surefire.plugin.version>
</properties>

<build>
 <plugins>
   <plugin>
     <groupId>org.apache.maven.plugins</groupId>
     <artifactId>maven-surefire-plugin</artifactId>
     <version>${surefire.plugin.version}</version>
     <configuration>
       <runOrder>random</runOrder>
     </configuration>
   </plugin>
 </plugins>
</build>
Run Code Online (Sandbox Code Playgroud)