Obteniendo ClassFormatError con EMMA?
-
05-07-2019 - |
Pregunta
Estoy tratando de generar informes de cobertura de código con EMMA utilizando pruebas de las cuales algunos usan JMockit como un marco de burla. En su mayor parte, funciona, pero algunas de mis pruebas fallan con un ClassFormatError, como por ejemplo:
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)
¿Alguna idea de lo que está pasando y si puedo solucionar el problema? ¿O son mutuamente excluyentes EMMA y JMockit?
Solución
Parece ser un error en JMockit: después de que EMMA ya había instrumentado la clase, JMockit parece tener problemas para crear " reentry = true " métodos simulados.
Eliminando el " reentrada = verdadero " " trabajado alrededor de " el problema.
Otros consejos
De dónde y cómo eliminar esta " reentrada = verdadera "
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow