请考虑您有一个Spring-Boot应用程序,并且在此应用程序中还有一堆集成测试,这些集成测试用@SpringBootTest
注释并用SpringRunner
类运行。
它们由maven failsafe plugin调用,默认情况下,它不会以任何方式并行化测试。所有测试运行正常,没有任何问题。
如果使用forkCount
的故障保险功能会发生什么变化-您可以期望测试执行立即可用吗?您需要调整一些代码吗?您需要寻找什么可能导致这些集成测试无法通过此插件在分叉的“并行”环境中运行?
据我了解,故障安全插件将创建很多forkCount JVM,并在每个集成测试中执行一些。听起来好像无事可做,您不需要使任何线程安全,也不需要使Singleton-beans成为ThreadScoped bean或其他任何东西-因为具有多个JVM的过程应该已经创建了多个这些bean。
抱歉,如果问题看起来很怪异,我尝试研究此问题,但找不到答案。
答案 0 :(得分:1)
来自Maven文档:
forkCount参数定义了JVM进程的最大数量
这意味着测试将在其自己的进程中运行,因此您将拥有单独的Spring Boot实例。因此,您真的不必关心线程安全。
但是您必须关心内存消耗。