Erste ClassFormatError mit EMMA?
-
05-07-2019 - |
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?
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