2009-05-13 5 views
6

다른 사람에게 쉬운 질문이 되었으면 ..... .....디버거가 JMockit과 작동하지 않습니다

저는 RAD 7.5.2를 사용 중이며 Junit 테스트를 작성하고 있습니다. 나는 JUnit 3을 사용하여 그것들을 잘 작성하고 있었고, 몇 가지 함수 호출을 모의하고 싶었다. 그래서 jmockit 0.9.7과 Junit 4.6을로드했습니다. 또한 VM 인수로 -javaagent : jmockit.jar를 포함합니다.

"Run As Junit Test"를 실행하면 아무런 문제없이 진행됩니다 (적어도 출력 결과는 볼 수 없음). Junit의 출력이 좋으며 콘솔에 오류가 덤프되지 않습니다.

"Junit 테스트로 디버그"하면 작동하지 않습니다. 그것은 나를 밖으로 덤프 :

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 AT) V ) (RedefinitionEngine.java:197) (; LANG/악기/클래스를 정의 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을 사용하기 위해해야합니다.

생각하십니까?

+0

나는 이진 실제로 소스 코드와 일치하지 않는 다른 문제가 있었다. – zinking

답변

1

JMockit을 사용하는 JUnit 테스트 (디버그 모드에서 "-javaagent"JVM 인수 사용 및 사용 안함)를 정기적으로 실행하며 전혀 문제가 발생하지 않았습니다.

"Junit 테스트로 디버그"구성의 클래스 경로가 "Run As Junit Test"구성과 동일합니까? UnsatisfiedLinkError가 있기 때문에, jar 파일이 누락되었을 수 있습니다. 그 오류의 원인이 아닌 경우, 어쩌면 RAD 7.5.2 특정 뭔가가

...

+0

RAD 7.5.5에서도 마찬가지입니다. 야곱이 말한 것과 같은 증상. – Greg

관련 문제