使用Maven故障安全插件分叉执行SpringBootTest-它开箱即用吗?

时间:2019-06-06 10:31:31

标签: spring spring-boot integration-testing maven-failsafe-plugin

请考虑您有一个Spring-Boot应用程序,并且在此应用程序中还有一堆集成测试,这些集成测试用@SpringBootTest注释并用SpringRunner类运行。 它们由maven failsafe plugin调用,默认情况下,它不会以任何方式并行化测试。所有测试运行正常,没有任何问题。

如果使用forkCount的故障保险功能会发生什么变化-您可以期望测试执行立即可用吗?您需要调整一些代码吗?您需要寻找什么可能导致这些集成测试无法通过此插件在分叉的“并行”环境中运行? 据我了解,故障安全插件将创建很多forkCount JVM,并在每个集成测试中执行一些。听起来好像无事可做,您不需要使任何线程安全,也不需要使Singleton-beans成为ThreadScoped bean或其他任何东西-因为具有多个JVM的过程应该已经创建了多个这些bean。 抱歉,如果问题看起来很怪异,我尝试研究此问题,但找不到答案。

1 个答案:

答案 0 :(得分:1)

来自Maven文档:

  

forkCount参数定义了JVM进程的最大数量

这意味着测试将在其自己的进程中运行,因此您将拥有单独的Spring Boot实例。因此,您真的不必关心线程安全。

但是您必须关心内存消耗。