我们在一些历史项目中使用了PowerMock。不幸的是,PowerMock是非常dead的,并且与Java11不兼容。
我们使用的是mockStatic()。是的,我们知道它被认为是有害的-它在遗留代码中,我们不希望现在重写这些类……
如何调整PowerMock以支持Java11,有什么选择吗?或者,有没有可能用其他兼容Java 11的框架轻松地替换它?(Mockito不支持mockStatic)
发布于 2018-10-25 20:52:14
在没有发布的一年之后,PowerMock的事情真的发生了变化。
PowerMock 2.0.0-RC1发布。和PowerMockito 2.0.0-RC1 + @PowerMockIgnore({"com.sun.org.apache.xerces.*", "javax.xml.*", "org.xml.*", "org.w3c.*"})
这些测试可以在Java11下运行。
发布于 2021-02-16 22:13:49
通过以下方式解决:
@PowerMockIgnore("jdk.internal.reflect.*")
不需要其他任何东西。
发布于 2020-10-17 03:00:10
如果有很多测试类要迁移到Java11,那么可以在org/powermock/entensions/configuration.properties文件中只配置一次忽略:
powermock.global-ignore=com.sun.org.apache.xerces.*,javax.xml.*,org.xml.*,org.w3c.*
https://stackoverflow.com/questions/52966897
复制相似问题