我正在尝试使用 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 模拟方法)。还有其他想法吗?
提前致谢。