でデバッガは、私はRAD 7.5.2を使用しています、とJUnitテストを書いています.....誰かのために、ここでうまくいけば、簡単な質問JMockit
を動作しません。私はJUnit 3でうまく書いていましたが、その後いくつかの関数呼び出しをモックアップしたいと思っていました。そこでjmockit 0.9.7とJunit 4.6をロードしました。 VM引数として-javaagent:jmockit.jarも追加しました。
私が「Run As Junit Test」を実行すると、問題なく続きます(少なくとも、出力には表示されません)。 Junitの出力は良好で、エラーはコンソールにダンプされません。
私が「Junit Testとしてデバッグ」すると、動作しません。それはに私をダンプします。
InstrumentationImpl.class - >ソース
を見つけていない...と私は継続打ったとき....
NativeMethodAccessorImpl.class - >ソース
が見つかりません...そして私がヒットしたとき...
この後、JUnitが終了します。 sun.reflect.NativeMethodAccessorImpl.invokeでsun.reflect.NativeMethodAccessorImpl.invoke0(ネイティブメソッド) で「メイン」スレッドにjava.lang.reflect.InvocationTargetException に
例外:それは、コンソールに次のダンプsun.instrument.InstrumentationImpl.loadClassAndCallPremainでjava.lang.reflect.Method.invoke(Method.java:618)でsun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)で(NativeMethodAccessorImpl.java:79) (InstrumentationImpl.java:160) 原因:java.lang.UnsatisfiedLinkError:sun/instrument/InstrumentationImpl.redefineClasses0([Ljava/mockit.internal.RedefinitionEngine.redefineMethodsでmockit.internal.RedefinitionEngine.redefineMethodsでsun.instrument.InstrumentationImpl.redefineClasses(InstrumentationImpl.java:98で)V ) (RedefinitionEngine.java:197) (; LANG /器具/ ClassDefinitionオブRedefinitionEngine.java:184)mockit.internal.RedefinitionEngine.redefineMethods(RedefinitionEngine.java:116)mockit.internal.Startup.loadInternalStartupMocksでmockit.internal.RedefinitionEngine.setUpInternalStartupMock(RedefinitionEngine.java:53) で(起動時 。 java:123) at mockit.internal.Startup.initialize(Startup.java:110) at mockit.internal.Startup.premain(Startup.java:97) ... 5もっと見る
致命的なエラー:-javaagentの処理は
を失敗した私は、私は-javaagent使用するとき、それはだ、何の問題もなく私のテストでのJUnit 3とJUnit 4の両方を実行することができます。デバッガでjmockit.jarを(; JMockitのものを使うためには、私はそれをしなくてはなりません。
思考?
私は、バイナリが実際にソースコードと整合していない別の問題を、持っていました。 – zinking