gpt4 book ai didi

java - maven Surefire 插件 - 按顺序运行所有测试

转载 作者:行者123 更新时间:2023-11-30 01:57:25 24 4
gpt4 key购买 nike

出于某种原因,我无法让 Maven Surefire 插件按顺序运行我的测试。

我在测试中使用了 redis 模拟 ( 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

我查了一下,发现它可能与并行运行的测试有关,并且这个模拟存在问题。

当前我的 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>

我想确保所有我的测试按顺序运行(一个接一个) - 这意味着每个类的每个测试方法都单独运行。

我怎样才能实现这一目标?

最佳答案

据我所知,确保单元测试顺序的唯一方法是按字母顺序排列:

<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<runOrder>alphabetical</runOrder>
</configuration>
</plugin>

话虽这么说,但我认为你需要在每个测试中定义一个 @After 方法来停止 redis 模拟(并实际上等到它停止),以便新测试可以在 @ 中启动 redis 模拟没有冲突的方法之前

关于java - maven Surefire 插件 - 按顺序运行所有测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53921015/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com