我已经在maven-failsafe-plugin配置中将forkCount设置为零,以便在调试时可以轻松地使用mvnDebug并在测试中设置断点。这将导致警告:参数forkCount不应该为0,不fork JVM进行测试会降低测试的准确性,确保>= 1。为什么会这样?不分叉对精度有什么影响?
maven-failsafe-plugin
forkCount
mvnDebug
wn9m85ua1#
从我所读到的内容来看,forkCount=0似乎会保留mvn运行测试的同一个VM。这可能导致mvn过程的问题,并可能导致测试中的潜在不准确。forkCount=1应该启动1个新的VM(不需要mvn)来运行测试。这将使mvn和测试分开。我经历过的肯定会影响测试准确性的事情是reuseForks属性。如果设置为true,则静态数据或静态类可以保留在分叉VM中,这可能影响未来的测试。测试运行得更快。当reuseForks = false时,分叉的VM被杀死并启动一个新的VM。这可以防止任何静态数据问题或糟糕的测试清理(如果问题是只是糟糕的测试清理/隔离,这不是一个很好的解决方案)。测试运行得更慢,但更准确。主要来源:https://maven.apache.org/surefire/maven-failsafe-plugin/examples/fork-options-and-parallel-execution.html
1条答案
按热度按时间wn9m85ua1#
从我所读到的内容来看,forkCount=0似乎会保留mvn运行测试的同一个VM。这可能导致mvn过程的问题,并可能导致测试中的潜在不准确。forkCount=1应该启动1个新的VM(不需要mvn)来运行测试。这将使mvn和测试分开。
我经历过的肯定会影响测试准确性的事情是reuseForks属性。如果设置为true,则静态数据或静态类可以保留在分叉VM中,这可能影响未来的测试。测试运行得更快。当reuseForks = false时,分叉的VM被杀死并启动一个新的VM。这可以防止任何静态数据问题或糟糕的测试清理(如果问题是只是糟糕的测试清理/隔离,这不是一个很好的解决方案)。测试运行得更慢,但更准确。
主要来源:https://maven.apache.org/surefire/maven-failsafe-plugin/examples/fork-options-and-parallel-execution.html