Ошибка NoClassDefFoundError при попытке использовать покрытие JMockit
Вопрос
Я пытаюсь использовать возможности покрытия кода JMockit.Использование параметра JVM
-javaagent:jmockit.jar=coverage=.*MyClass.java:html::
Я могу запустить свои тесты (jmockit.jar и coverage.jar находятся на пути к классу), к сожалению, в моем файле журнала указано:
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)
...и файл покрытия не генерируется.Кто-нибудь заставил покрытие JMockit работать?Если да, то есть какие-нибудь мысли относительно того, что является причиной этой ошибки?Спасибо...
Ответ: Мне нужно было добавить покрытие к записям начальной загрузки, а не только к записям пользователя (в конфигурации запуска Eclipse)
Реальный Ответ Фактический ответ заключается в том, что я запускал тест с JUnit 3, но для покрытия нужен JUnit 4.Это все исправило, и мне не пришлось добавлять никаких записей bootstrap.
Решение
Я запускал тест с JUnit 3, но для покрытия нужен JUnit 4.Это все исправило, и мне не пришлось добавлять никаких записей bootstrap.
Другие советы
Случайное предположение...Находится coverage.jar в пути к классу, который использует jmockit - он может быть другим?