【问题标题】:Debugger won't work with JMockit调试器不适用于 JMockit
【发布时间】:2009-05-13 20:02:09
【问题描述】:

希望对某人有一个简单的问题.....

我正在使用 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(Native Method) 在 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:79) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 在 java.lang.reflect.Method.invoke(Method.java:618) 在 sun.instrument.InstrumentationImpl.loadClassAndCallPremain(InstrumentationImpl.java:160) 引起:java.lang.UnsatisfiedLinkError: sun/instrument/InstrumentationImpl.redefineClasses0([Ljava/lang/instrument/ClassDefinition;)V 在 sun.instrument.InstrumentationImpl.redefineClasses(InstrumentationImpl.java:98) 在 mockit.internal.RedefinitionEngine.redefineMethods(RedefinitionEngine.java:197) 在 mockit.internal.RedefinitionEngine.redefineMethods(RedefinitionEngine.java:184) 在 mockit.internal.RedefinitionEngine.redefineMethods(RedefinitionEngine.java:116) 在 mockit.internal.RedefinitionEngine.setUpInternalStartupMock(RedefinitionEngine.java:53) 在 mockit.internal.Startup.loadInternalStartupMocks(Startup.java:123) 在 mockit.internal.Startup.initialize(Startup.java:110) 在 mockit.internal.Startup.premain(Startup.java:97) ... 5 更多

致命错误:处理 -javaagent 失败


我可以毫无问题地在我的测试中同时运行 JUnit 3 和 JUnit 4,当我使用 -javaagent:jmockit.jar(使用调试器;它们本身很好)时,事情变得丑陋了,我有这样做是为了使用 jmockit 的东西。

想法?

【问题讨论】:

  • 我有一个不同的问题,二进制文件实际上与源代码不一致。

标签: debugging junit4 jmockit javaagents


【解决方案1】:

我定期在调试模式下运行使用 JMockit(带有和不带有“-javaagent”JVM 参数)的 JUnit 测试,从未遇到任何问题。

您确定“Debug as Junit Test”配置的类路径与“Run As Junit Test”配置的类路径相同吗?由于遇到 UnsatisfiedLinkError,可能是缺少一些 jar 文件。

如果这不是错误的原因,那么可能是 RAD 7.5.2 特有的问题...

【讨论】:

  • RAD 7.5.5 也会发生这种情况;与 Jacob 描述的症状相同。
猜你喜欢
  • 2012-11-25
  • 1970-01-01
  • 2021-09-28
  • 1970-01-01
  • 1970-01-01
  • 2021-06-14
  • 2021-09-15
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多