Я пытаюсь использовать возможности покрытия кода 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 Coverage работать? Если да, какие мысли о том, что вызывает эту ошибку? Спасибо...
Ответ: Мне нужно было добавить покрытие к записям начальной загрузки, а не только к пользовательским записям (в конфигурации запуска Eclipse)
Фактический ответ Фактический ответ заключается в том, что я запускал тест с JUnit 3, но для покрытия требуется JUnit 4. Это исправило ситуацию, и мне не нужно было добавлять какие-либо записи начальной загрузки.