我正在尝试使用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运行配置中)。
实际答案
实际的答案是我用JUnit3运行测试,但覆盖范围需要JUnit4。这解决了问题,我不需要添加任何引导程序条目。