在我的工作中,我的实际责任是测试和重构旧代码.
我阅读了2本关于使用遗留代码进行测试和测试的书籍,现在我陷入了困境,没有任何进展.
我只是想用PowerMock来模拟一个对象,因为它是一个静态初始化器.但现在我的问题是,只要我添加"RunWith"注释,我的测试就会崩溃.
这是我的堆栈跟踪.
java.lang.IllegalStateException: Failed to transform class with name test.ContentPanelTest. Reason: java.io.IOException: invalid constant type: 18
at org.powermock.core.classloader.MockClassLoader.loadMockClass(MockClassLoader.java:266)
at org.powermock.core.classloader.MockClassLoader.loadModifiedClass(MockClassLoader.java:180)
at org.powermock.core.classloader.DeferSupportingClassLoader.loadClass(DeferSupportingClassLoader.java:68)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:348)
at org.powermock.modules.junit4.common.internal.impl.JUnit4TestSuiteChunkerImpl.createDelegatorFromClassloader(JUnit4TestSuiteChunkerImpl.java:145)
at org.powermock.modules.junit4.common.internal.impl.JUnit4TestSuiteChunkerImpl.createDelegatorFromClassloader(JUnit4TestSuiteChunkerImpl.java:40)
Run Code Online (Sandbox Code Playgroud)
我认为这可能是我的JRE的一个问题.所以我已经将我正在使用的每个库更新到最新版本.但问题仍然是一样的.
我从互联网上尝试了几种建议的解决方案.但至少有一个人帮我解决了我的问题.
我希望你能帮助我.如果有人需要一些额外的信息我可以发布你需要的任何东西
提前感谢您和奥地利的问候!