Maven Surefire:重新加载用于在分叉中进行隔离测试的类

问题描述

我想将 Maven Surefire 配置为始终为每个测试分叉一个新的 JVM 进程,并重新加载所有 .class 文件,这些文件在该新分叉的进程内的测试中是必需的。 我认为这可以通过 forkCount=1reuseForks=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 (将#修改为@)