gpt4 book ai didi

debugging - 调试器不适用于 JMockit

转载 作者:行者123 更新时间:2023-12-04 16:03:16 29 4
gpt4 key购买 nike

希望这里对某人来说是一个简单的问题......

我正在使用 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 个

fatal error :处理 -javaagent 失败

我可以在我的测试中同时运行 JUnit 3 和 JUnit 4,没有问题,当我使用 -javaagent:jmockit.jar(带有调试器;它们本身很好)时,事情变得很糟糕,我必须这样做使用 jmockit 的东西。

想法?

最佳答案

我经常在 Debug模式下运行使用 JMockit(带有和不带有“-javaagent”JVM 参数)的 JUnit 测试,并且从未出现任何问题。

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

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

关于debugging - 调试器不适用于 JMockit,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/860112/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com