6 debugging jmockit junit4 javaagents
希望对某人来说这是一个简单的问题.....
我正在使用RAD 7.5.2,正在编写Junit测试.我用JUnit 3编写它们就好了,然后我想模拟一些函数调用.所以我加载了jmockit 0.9.7和Junit 4.6.我还包括-javaagent:jmockit.jar作为VM参数.
当我"运行为Junit测试"时,它完全没有任何问题(至少,我没有看到输出).Junit的输出很好,没有错误被转储到控制台.
当我"调试为Junit测试"时,它将无法正常工作.它让我陷入:
InstrumentationImpl.class - >未找到源
......当我继续......
NativeMethodAccessorImpl.class - >找不到源
......当我继续打...
JUnit在此之后结束.它将以下内容转储到控制台:
异常线程 "main" java.lang.reflect.InvocationTargetException在sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法)在sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:79)在sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl .java:43)在sun.instrument.InstrumentationImpl.loadClassAndCallPremain(InstrumentationImpl.java:160)的java.lang.reflect.Method.invoke(Method.java:618)中引起:java.lang.UnsatisfiedLinkError:sun/instrument/InstrumentationImpl.redefineClasses0([Ljava/lang/instrument/ClassDefinition;)V at the sun.instrument.InstrumentationImpl.redefineClasses(InstrumentationImpl.java:98)at mockit.internal.RedefinitionEngine.redefineMethods(RedefinitionEngine.java:197)at mockit.internal.在mockit.internal.RedefinitionEngine.setUpInternalStartupMock(RedefinitionEngine.j)上的mockit.internal.RedefinitionEngine.redefineMethods(RedefinitionEngine.java:116)重新定义引擎.重定义方法(RedefinitionEngine.java:184)ava:53)at mockit.internal.Startup.loadInternalStartupMocks(Startup.java:123)at mockit.internal.Startup.initialize(Startup.java:110)at mockit.internal.Startup.premain(Startup.java:97). ..还有5个
致命错误:-javaagent的处理失败
我可以在我的测试中同时运行JUnit 3和JUnit 4,没问题,当我使用-javaagent:jmockit.jar(使用调试器;他们自己很好)时,事情变得丑陋,我必须这样做使用jmockit的东西.
思考?
我经常在调试模式下运行使用 JMockit(带或不带“-javaagent”JVM 参数)的 JUnit 测试,并且从未遇到过任何问题。
您确定“调试为 Junit 测试”配置的类路径与“运行为 Junit 测试”配置的类路径相同吗?由于您收到 UnsatisfiedLinkError,可能是缺少一些 jar 文件。
如果这不是错误的原因,那么可能是 RAD 7.5.2 特有的原因...
| 归档时间: |
|
| 查看次数: |
1924 次 |
| 最近记录: |