日食でJDaveを使用して、junitで最終クラス(AnyFinalClass.java)をモックしようとしていました。
public void setUp() throws Exception {
Mockery mockery = new Mockery() {{
setImposteriser(ClassImposteriser.INSTANCE);
}};
AnyFinalClass any = mockery.mock(AnyFinalClass.class);
}
jdave-unfinalizer-1.1.jar を javaagent として使用しようとしていますが、成功しませんでした。複数のことを試しましたが、次の例外が発生しました
java.lang.IllegalArgumentException: net.sf.cglib.core.DefaultGeneratorStrategy.generate(DefaultGeneratorStrategy.java:25) で net.sf.cglib.proxy.Enhancer.generateClass(Enhancer.java:446) で最終クラス class AnyFinalClass をサブクラス化できません
すでに jdave unfinalizer を試したことがある人は、Eclipse で動作させるための正確な手順を教えてもらえますか。
eclipse.ini ファイルで次のように設定しましたが、問題が発生しました -Xbootclasspath/a:lC:\WS\JunitTesting\jars\asm-3.0.jar -javaagent:C:\WS\JunitTesting\jars\jdave-unfinalizer-1.1.jar
junitの実行中に、vm引数を javaagent:C:\WS\JunitTesting\jars\jdave-unfinalizer-1.1.jar として指定しました
コードがどうなるかわかりません。jdave にはコードがなく、そのサイトは機能していない他のサイトを指しています。私のコードを修正するか、同じ作業コードを提供してください。どんな助けでも大歓迎です。