Ошибка NoClassDefFoundError при попытке использовать покрытие JMockit

StackOverflow https://stackoverflow.com/questions/208345

  •  03-07-2019
  •  | 
  •  

Вопрос

Я пытаюсь использовать возможности покрытия кода 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 - он может быть другим?

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top