Вопрос

Я пытаюсь создать отчеты о покрытии кода с помощью 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 являются взаимоисключающими?

Это было полезно?

Решение

Кажется, что это ошибка в JMockit: после того, как EMMA уже проинструктировал класс, у JMockit, похоже, есть проблемы, создающие " reentry = true " фиктивные методы.

Удаление " reentry = true " " обойти " проблема.

Другие советы

Откуда и как удалить этот " reentry = true "

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top