Frage

Ich versuche mit Tests, von denen einige Verwendung EMMA zu erzeugen = "http://jmockit.dev.java.net" rel = "nofollow noreferrer"> JMockit als Mockframework. Zum größten Teil, es funktioniert, aber ein paar von meinen Tests Absturz mit einem ClassFormatError, etwa so:

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)

Jede Idee, was los ist, und ob ich das Problem beheben kann? Oder ist EMMA und JMockit gegenseitig aus?

War es hilfreich?

Lösung

Es scheint ein Fehler in JMockit zu sein. Nachdem die Klasse bereits von EMMA instrumentiert wurde, scheint JMockit Probleme zu haben „Reentry = true“ mock-Methoden erstellen

Entfernen des "Reentry = true" "gearbeitet um" das Problem.

Andere Tipps

Von wo und wie diese entfernen "Reentry = true"

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top