为什么Maven警告故障保护forkCount不应该为零



我在maven-failsafe-plugin配置中将forkCount设置为零,这样我就可以在调试时轻松使用mvnDebug并在测试中设置断点。

这将导致警告:

参数forkCount可能不应该为0,不分叉JVM进行测试会降低测试的准确性,确保具有<forkCount>gt;=1.

为什么?不分叉对准确性有什么影响?

从我所读到的内容来看,forkCount=0似乎会保持mvn在测试中运行的相同VM。这可能会导致mvn过程出现问题,并可能导致测试中潜在的不准确。forkCount=1应该启动1个新的VM(只保留mvn(来运行测试。这将使mvn和测试保持分离。

reuseForks属性是我所经历的,它肯定会干扰测试的准确性。如果设置为true,静态数据或静态类可以保留在分叉的VM中,这可能会影响未来的测试。不过测试运行得更快。当reuseForks=false时,分叉的虚拟机将被终止,并启动一个新的虚拟机。这可以防止任何静态数据问题或糟糕的测试清理(如果问题只是糟糕的测试清除/隔离,那么这不是一个好的解决方案(。测试运行速度较慢,但更准确。

主要来源:https://maven.apache.org/surefire/maven-failsafe-plugin/examples/fork-options-and-parallel-execution.html

相关内容

最新更新