JMockit を使用するいくつかの JUnit テストのカバレッジを測定するために EMMA を使用しようとしています。しかし、EMMA で計測した後に JMockit テストを実行しようとすると、テストの約 4 分の 1 が次のエラーで失敗します。
com.logstorage.engine.sensor.SensorManagerTest.setUpBeforeClass(SensorManagerTest.java:98)
java.lang.ClassFormatError
at sun.instrument.InstrumentationImpl.redefineClasses0(Native Method)
at sun.instrument.InstrumentationImpl.redefineClasses(InstrumentationImpl.java:150)
at mockit.internal.RedefinitionEngine.redefineMethods(RedefinitionEngine.java:152)
at mockit.internal.RedefinitionEngine.redefineMethods(RedefinitionEngine.java:139)
at mockit.internal.RedefinitionEngine.redefineMethods(RedefinitionEngine.java:73)
at mockit.Mockit.setUpMock(Mockit.java:235)
at com.myapp.MyTest.setUpBeforeClass(MyTest.java:98)
どのテストが失敗し、どのテストが失敗しないかについてのパターンはわかりません。これは JMockit の単なるバグだと思いますが、回避策を知っている人はいますか?
「EMMA で ClassFormatError を取得していますか?」という非常によく似た質問を見つけました。しかし、解決策は私にとってはうまくいきません(私は reentrant=true モックメソッドを使用していません)。他のアイデアはありますか?
前もって感謝します。