maven surefire 插件 - 运行 所有测试按顺序进行
maven surefire plugin - run all tests sequentially
出于某种原因,我无法让 Maven surefire 插件按顺序 运行 我的测试。
我在测试中使用了 redis mock (https://github.com/kstyrc/embedded-redis),它运行良好,但我遇到了
之类的错误
Cannot run program "/tmp/1494421531552-0/redis-server-2.8.19" (in directory "/tmp/1494421531552-0"): error=26, Text file busy
我查了一下,发现它可能与并行测试 运行ning 有关,并且它与这个模拟有问题。
目前我的 maven 看起来像这样
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.22.1</version>
<configuration>
<trimStackTrace>false</trimStackTrace>
<useFile>false</useFile>
<reuseForks>false</reuseForks>
<forkCount>1</forkCount>
</configuration>
我想确保 所有 我的测试 运行 顺序(一个接一个)- 这意味着每个 class 运行一个人。
我怎样才能做到这一点?
据我所知,确保单元测试顺序的唯一方法是按字母顺序排列:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<runOrder>alphabetical</runOrder>
</configuration>
</plugin>
话虽这么说,但我认为您需要在每个测试中定义一个停止 redis 模拟的 @After 方法(实际上等到它停止),以便新测试可以启动 redis 模拟@Before 方法没有冲突
出于某种原因,我无法让 Maven surefire 插件按顺序 运行 我的测试。
我在测试中使用了 redis mock (https://github.com/kstyrc/embedded-redis),它运行良好,但我遇到了
之类的错误Cannot run program "/tmp/1494421531552-0/redis-server-2.8.19" (in directory "/tmp/1494421531552-0"): error=26, Text file busy
我查了一下,发现它可能与并行测试 运行ning 有关,并且它与这个模拟有问题。
目前我的 maven 看起来像这样
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.22.1</version>
<configuration>
<trimStackTrace>false</trimStackTrace>
<useFile>false</useFile>
<reuseForks>false</reuseForks>
<forkCount>1</forkCount>
</configuration>
我想确保 所有 我的测试 运行 顺序(一个接一个)- 这意味着每个 class 运行一个人。
我怎样才能做到这一点?
据我所知,确保单元测试顺序的唯一方法是按字母顺序排列:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<runOrder>alphabetical</runOrder>
</configuration>
</plugin>
话虽这么说,但我认为您需要在每个测试中定义一个停止 redis 模拟的 @After 方法(实际上等到它停止),以便新测试可以启动 redis 模拟@Before 方法没有冲突