我在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