2009-05-13 35 views
6

Hy vọng một câu hỏi dễ dàng ở đây dành cho ai đó .....Trình gỡ lỗi sẽ không hoạt động với JMockit

Tôi đang sử dụng RAD 7.5.2 và đang viết bài kiểm tra Junit. Tôi đã viết chúng tốt với JUnit 3, và sau đó tôi muốn giả lập một số cuộc gọi hàm. Vì vậy, tôi tải lên jmockit 0.9.7 và Junit 4.6. Tôi cũng bao gồm -javaagent: jmockit.jar như một đối số VM.

Khi tôi "Run As Junit Test", nó đi cùng với không có vấn đề gì cả (ít nhất, không ai mà tôi có thể nhìn thấy trên đầu ra). Đầu ra của Junit là tốt, và không có lỗi nào được đổ xuống bàn điều khiển.

Khi tôi "Debug như JUnit Test", nó sẽ không làm việc. Nó bãi tôi ra vào:

InstrumentationImpl.class -> Nguồn không tìm thấy

... và khi tôi nhấn tiếp tục ....

NativeMethodAccessorImpl.class -> Nguồn không tìm thấy

... và khi tôi nhấn tiếp tục ...

JUnit kết thúc sau này. Nó bãi sau ra cửa sổ Console:


Exception in thread "main" java.lang.reflect.InvocationTargetException tại sun.reflect.NativeMethodAccessorImpl.invoke0 (Native Method) tại sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:79) tại sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43) tại java.lang.reflect.Method.invoke (Method.java:618) tại sun.instrument.InstrumentationImpl.loadClassAndCallPremain (InstrumentationImpl.java:160) Nguyên nhân: java.lang.UnsatisfiedLinkError: mặt trời/công cụ/InstrumentationImpl.redefineClasses0 ([Ljava/lang/instrument/ClassDefinition;) V tại sun.instrument.InstrumentationImpl.redefineClasses (InstrumentationImpl.java:98) tại mockit.internal.RedefinitionEngine.redefineMethods (RedefinitionEngine.java:197) tại mockit.internal.RedefinitionEngine.redefineMethods (RedefinitionEngine.java:184) tại mockit.internal.RedefinitionEngine.redefineMethods (RedefinitionEngine.java:116) tại mockit.internal.RedefinitionEngine.setUpInternalStartupMock (RedefinitionEngine.java:53) tại mockit.internal.Startup.loadInternalStartupMocks (Startup. java: 123) tại mockit.internal.Startup.initialize (Startup.java:110) tại mockit.internal.Startup.premain (Startup.java:97) ... 5 thêm

Fatal error: chế biến -javaagent thất bại


tôi có thể chạy cả hai JUnit 3 và JUnit 4 bài kiểm tra của tôi không có vấn đề, đó là khi tôi sử dụng -javaagent: jmockit.jar (với trình gỡ lỗi; bởi chính họ cũng ổn) rằng mọi thứ trở nên xấu xí và tôi phải làm điều đó để sử dụng những thứ jmockit.

Suy nghĩ?

+0

Tôi gặp vấn đề khác, mà nhị phân không thực sự phù hợp với mã nguồn. – zinking

Trả lời

1

Tôi thường xuyên chạy thử nghiệm JUnit sử dụng JMockit (có và không có đối số JVM "-javaagent") trong chế độ gỡ lỗi, và không bao giờ có bất kỳ vấn đề.

Bạn có chắc đường dẫn lớp cho cấu hình "Debug as Junit Test" giống hệt với "Run As Junit Test" không? Vì bạn có một UnsatisfiedLinkError, có thể có một số tệp jar bị thiếu.

Nếu đó không phải là nguyên nhân gây ra lỗi, thì có thể đó là điều gì đó cụ thể đối với RAD 7.5.2 ...

+0

Nó cũng xảy ra với RAD 7.5.5; các triệu chứng giống như Jacob đã mô tả. – Greg

Các vấn đề liên quan