2

我正在尝试使用EMMA生成代码覆盖率报告,其中一些测试使用JMockit作为模拟框架。在大多数情况下,它可以工作,但我的一些测试因 ClassFormatError 而崩溃,如下所示:

java.lang.ClassFormatError
    at sun.instrument.InstrumentationImpl.redefineClasses0(Native Method)
    at sun.instrument.InstrumentationImpl.redefineClasses(InstrumentationImpl.java:79)
    at mockit.internal.RedefinitionEngine.redefineMethods(RedefinitionEngine.java:138)
    at mockit.internal.RedefinitionEngine.redefineMethods(RedefinitionEngine.java:73)
    at mockit.Mockit.setUpMocks(Mockit.java:177)
    at test.my.UnitTest.setUpBeforeClass(UnitTest.java:21)

知道发生了什么,我是否可以解决问题?或者 EMMA 和 JMockit 是互斥的?

4

2 回答 2

1

似乎是 JMockit 中的一个错误:在类已经被 EMMA 检测之后,JMockit 似乎在创建“reentry=true”模拟方法时遇到了问题。

删除“reentry=true”“解决了”这个问题。

于 2008-10-31T14:20:59.380 回答
0

从何处以及如何删除此“reentry = true”

于 2009-02-09T11:06:27.883 回答