【发布时间】:2018-02-12 13:44:09
【问题描述】:
我在运行测试类时遇到的错误
java.lang.ClassFormatError: JVMCFRE013 local variable PC length invalid; class=com/../MyClass, offset=42431
at java.lang.ClassLoader.defineClass(ClassLoader.java:265)
当我将MyClass.class 添加到类上方的@PrepareForTest 时,就会发生这种情况。当我删除它时,错误就消失了。
我不认为这是一个 eclpise/java 问题,因为我尝试切换到 Java 1.8 到 1.6。请在这里帮助我。
@RunWith(PowerMockRunner.class)
@PowerMockIgnore("javax.*")
@PrepareOnlyThisForTest({x.class,MyClass.class })
@SuppressStaticInitializationFor("com.xx")
public class MyClassTest {
这是我执行的导致错误的测试类。
【问题讨论】:
-
你可以显示你的代码...
-
添加了测试类。
-
那里的OP提到,“错误似乎是由于我的类文件中的冗长方法而发生的”。在我的情况下这是错误的。当我从@PrepareForTest 中删除同一个类时,错误消失了
-
没用过PowerMock,可能用得越多,服务越好。
标签: java junit mockito powermock powermockito