【发布时间】:2009-05-25 01:34:22
【问题描述】:
我正在尝试使用 EMMA 来衡量一些使用 JMockit 的 JUnit 测试的覆盖率。但是,当我在使用 EMMA 进行检测后尝试运行 JMockit 测试时,大约四分之一的测试失败并出现以下错误:
com.logstorage.engine.sensor.SensorManagerTest.setUpBeforeClass(SensorManagerTest.java:98)
java.lang.ClassFormatError
at sun.instrument.InstrumentationImpl.redefineClasses0(Native Method)
at sun.instrument.InstrumentationImpl.redefineClasses(InstrumentationImpl.java:150)
at mockit.internal.RedefinitionEngine.redefineMethods(RedefinitionEngine.java:152)
at mockit.internal.RedefinitionEngine.redefineMethods(RedefinitionEngine.java:139)
at mockit.internal.RedefinitionEngine.redefineMethods(RedefinitionEngine.java:73)
at mockit.Mockit.setUpMock(Mockit.java:235)
at com.myapp.MyTest.setUpBeforeClass(MyTest.java:98)
我看不到任何关于哪些测试失败和哪些没有失败的模式。我猜这只是 JMockit 中的一个错误,但有人知道解决方法吗?
我发现了一个非常相似的问题,名为“Getting ClassFormatError with EMMA?”但该解决方案对我不起作用(我没有使用任何 reentrant=true 模拟方法)。还有其他想法吗?
提前致谢。
【问题讨论】:
-
一定是月亮的排列。没有任何改变,两天前我没有收到此错误!