JMockitカバレッジを使用しようとすると、NoClassDefFoundError
質問
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が必要です。 / p>
解決
私はJUnit 3でテストを実行していましたが、カバレッジにはJUnit 4が必要です。これにより問題が修正され、ブートストラップエントリを追加する必要がなくなりました。
他のヒント
ランダムな推測... coverage.jarはjmockitが使用するクラスパス上にありますか?別の可能性がありますか?
所属していません StackOverflow