Question

J'essaie de générer des rapports de couverture de code avec EMMA à l'aide de tests dont certains utilisent JMockit en tant que framework moqueur. Pour la plupart, cela fonctionne, mais quelques-uns de mes tests échouent avec un ClassFormatError, comme ceci:

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)

Avez-vous une idée de ce qui se passe et si je peux résoudre le problème? Ou bien EMMA et JMockit s’excluent-ils mutuellement?

Était-ce utile?

La solution

Semble être un bogue dans JMockit: après que la classe ait déjà été instrumentée par EMMA, JMockit semble avoir des problèmes pour créer "reentry = true". méthodes fictives.

Suppression du " reentry = true " " contourné " le problème.

Autres conseils

D'où et comment supprimer cette "reentry = true"

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top