代码之家  ›  专栏  ›  技术社区  ›  Epaga Alex Reynolds

尝试使用jmockit覆盖率时出现noclassdefounderror

  •  2
  • Epaga Alex Reynolds  · 技术社区  · 16 年前

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

    2 回复  |  直到 16 年前
        1
  •  2
  •   Epaga Alex Reynolds    16 年前

    我和Junit 3一起进行测试,但报道需要Junit 4。这解决了问题,我不需要添加任何引导程序条目。

        2
  •  1
  •   Chris Kimpton    16 年前

    随机猜测…coverage.jar是否在jmockit使用的类路径上-它可能是另一个类路径?