我正在尝试使用 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。这解决了问题,我不必添加任何引导条目。