使用powermock调用私有方法进行单元测试时,出现如下警告:
(至于为何调用私有方法进行单元测试,主要是类中调用私有方法的那个method单元测试写起来太太太麻烦了。)
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by org.powermock.reflect.internal.WhiteboxImpl (file:/D:/other/repository1/org/powermock/powermock-reflect/2.0.7/powermock-reflect-2.0.7.jar) to method java.lang.Object.clone()
WARNING: Please consider reporting this to the maintainers of org.powermock.reflect.internal.WhiteboxImpl
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release
Process finished with exit code 0
这个是说发生了非法的反射访问操作,
可以通过--illegal-access 的设置进行此警告的启用和禁用,
还说在将来的版本中,所有非法访问操作都将被拒绝。
初时,以为是 mockito 和 powermock 的版本没对应好,检查了下,木有问题。
再细看警告内容,貌似是 jdk 的。
我的idea 默认版本是11,语言等级(language level)改为 8 无效, 把 jdk版本也改为1.8。 无警告了。