Maven 验证在每个 class 上启动和停止 Spring 测试运行程序
Maven Verify Starting and Stopping the Spring Test Runner on Each class
我有一个 Spring 引导应用程序,其中包含大约 500 个测试(单元和主要是集成)。
当我开始 运行第二次单击 IntelliJ 中的测试时 -> 运行 所有测试 - 测试 运行 大约需要 10-15 分钟。
当我尝试在 IntelliJ 终端中使用 "mvn verify -P itest" 运行 测试时,执行时间约为一个小时。这是因为此命令在每个 class 上启动和停止 Spring 测试 运行ner 服务器(这不是我想要的结果)。
IntelliJ 第二次点击 -> 运行 所有测试只启动一次。
我们的 Jenkins 作业是 运行 使用 "mvn verify -P itest" 进行测试,所以我的问题是如何更改此行为,仅启动和停止测试 运行ner 一次(使用此 "mvn verify -P itest"命令)。
itest 是我们 pom.xml 中的配置文件,其中包括包含集成测试的 classes(使用 maven failsafe 插件)
这是我们基础抽象集成测试的注释class
@RunWith(SpringJUnit4ClassRunner.class)
@SpringBootTest(classes = MainApplication.class, webEnvironment = WebEnvironment.RANDOM_PORT)
我发现这篇文章可能与我的问题类似,但这并不能解释 IntelliJ 给我的行为。
非常感谢
我发现了为什么会这样。我的 pom 文件中有一个设置说明
'reuseForks' maven failsafe 属性 为假。
我将其更改为 true,现在可以正常工作了。
Intellij 以相同的方式工作 - 它为所有测试重复使用分叉。
阅读更多
我有一个 Spring 引导应用程序,其中包含大约 500 个测试(单元和主要是集成)。
当我开始 运行第二次单击 IntelliJ 中的测试时 -> 运行 所有测试 - 测试 运行 大约需要 10-15 分钟。
当我尝试在 IntelliJ 终端中使用 "mvn verify -P itest" 运行 测试时,执行时间约为一个小时。这是因为此命令在每个 class 上启动和停止 Spring 测试 运行ner 服务器(这不是我想要的结果)。
IntelliJ 第二次点击 -> 运行 所有测试只启动一次。 我们的 Jenkins 作业是 运行 使用 "mvn verify -P itest" 进行测试,所以我的问题是如何更改此行为,仅启动和停止测试 运行ner 一次(使用此 "mvn verify -P itest"命令)。
itest 是我们 pom.xml 中的配置文件,其中包括包含集成测试的 classes(使用 maven failsafe 插件)
这是我们基础抽象集成测试的注释class
@RunWith(SpringJUnit4ClassRunner.class)
@SpringBootTest(classes = MainApplication.class, webEnvironment = WebEnvironment.RANDOM_PORT)
我发现这篇文章可能与我的问题类似,但这并不能解释 IntelliJ 给我的行为。
非常感谢
我发现了为什么会这样。我的 pom 文件中有一个设置说明 'reuseForks' maven failsafe 属性 为假。
我将其更改为 true,现在可以正常工作了。
Intellij 以相同的方式工作 - 它为所有测试重复使用分叉。
阅读更多