我有一个Spring应用程序,大约有500个测试(单元和大部分集成)。
当我开始在IntelliJ中运行测试时,第二次单击->,运行所有测试-测试运行在10-15分钟左右。
当我试图在-P终端上使用"mvn验证IntelliJ itest“来运行测试时,执行时间大约是一个小时。这是因为这个命令在每个类上启动和停止(这不是我想要的结果)。
IntelliJ第二次单击->运行所有测试,只启动一次。我们的Jenkins正在使用"mvn验证-P itest“运行测试,因此我的问题是如何更改此行为,只启动和停止测试运行程序一次(使用"mvn验证-P itest”命令)。
它是我们在pom.xml中拥有的配置文件,其中包括包含集成测试的类(使用maven故障安全插件)。
下面是我们的基本抽象集成测试类的注释
@RunWith(SpringJUnit4ClassRunner.class)
@SpringBootTest(classes = MainApplication.class, webEnvironment = WebEnvironment.RANDOM_PORT)
我找到了这篇类似于我的问题的文章,但这并不能解释IntelliJ给我的行为。
Reset Spring-Boot During Integration Tests
提前谢谢
发布于 2019-02-07 09:19:36
我知道了为什么会发生这种事。我的pom文件中有一个设置,其中声明'reuseForks‘maven故障安全属性为false。
我把它改成了真的,现在它运转得很好。
Intellij的工作方式是相同的-它在所有测试中重用分叉。
阅读更多
http://maven.apache.org/surefire-archives/surefire-2.17/maven-failsafe-plugin/examples/fork-options-and-parallel-execution.html
https://stackoverflow.com/questions/54043883
复制相似问题