问题描述
我想将 Maven Surefire 配置为始终为每个测试分叉一个新的 JVM 进程,并重新加载所有 .class
文件,这些文件在该新分叉的进程内的测试中是必需的。
我认为这可以通过 forkCount=1
和 reuseForks=false
(为了最大程度地隔离测试)实现,但这不起作用,因为测试(即 JVM 分支)不会重新加载 .class
文件,如果它已被先前运行的测试加载。
我尝试过使用隔离类加载器而不是系统类加载器,但这并没有影响到这个问题。
现在我开始执行这样的测试:mvn test -DfailIfNoTests=false -Dmaven.test.failure.ignore=true -DforkCount=1 -DreuseForks=false -f PATH_TO_PROJECT
。
谢谢。
编辑:我想要的行为似乎是 Surefire 2.19.1
的默认行为。不幸的是,JDK>=11 和 Surefire 2.19.1
会导致其他问题。我还没有弄清楚从那以后发生了什么变化,但希望得到提示。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)