NoClassDefFoundError al intentar utilizar la cobertura de JMockit
Pregunta
Estoy tratando de usar las capacidades de cobertura de código de JMockit. Usando el parámetro JVM
-javaagent:jmockit.jar=coverage=.*MyClass.java:html::
Puedo ejecutar mis pruebas (jmockit.jar y cover.jar están en el classpath), desafortunadamente mi archivo de registro dice:
Loaded external tool: mockit.coverage.CodeCoverage=.*MyClass.java:html::
Loaded external tool: mockit.integration.junit3.JUnitTestCaseDecorator
Loaded external tool: mockit.integration.junit4.JUnit4ClassRunnerDecorator
Exception in thread "Thread-0" java.lang.NoClassDefFoundError
at mockit.coverage.CodeCoverage$OutputFileGenerator.run(CodeCoverage.java:56)
... y no se genera ningún archivo de cobertura. ¿Alguien ha conseguido que JMockit Coverage funcione? Si es así, ¿alguna idea sobre qué está causando este error? Gracias ...
Respuesta : Necesitaba agregar cobertura a las entradas de inicio en lugar de solo las entradas de usuario (en la configuración de ejecución de Eclipse)
Respuesta real La respuesta real es que estaba ejecutando la prueba con JUnit 3, pero la cobertura necesita JUnit 4. Eso solucionó el problema, y ??no tuve que agregar ninguna entrada de arranque.
Solución
Estaba ejecutando la prueba con JUnit 3, pero la cobertura necesita JUnit 4. Eso solucionó el problema, y ??no tuve que agregar ninguna entrada de arranque.
Otros consejos
Suposición aleatoria ... ¿La cobertura está en la ruta de clase que usa jmockit? ¿Podría ser una diferente?