【问题标题】:Creating EasyMock mock throws NoSuchMethodError exception创建 EasyMock 模拟抛出 NoSuchMethodError 异常
【发布时间】:2012-04-05 12:10:03
【问题描述】:

我已经创建了模拟:

GuiExHandler mockGuiEx = EasyMock.createMock(MockedClass.class);

我得到以下异常:

Testcase: testAction(someClass):
Caused an ERROR org.objectweb.asm.ClassWriter.<init>(I)V
java.lang.NoSuchMethodError: org.objectweb.asm.ClassWriter.<init>(I)V

我确定MockedClass 存在。这个问题的原因是什么?

【问题讨论】:

    标签: java easymock cglib


    【解决方案1】:

    EasyMock 依赖于cglib,而后者又依赖于ASM。从异常中,似乎 cglib 正在调用一个不存在的 ASM 构造函数。因此,正在使用的 ASM 版本与正在使用的 cglib 版本不兼容。验证您正在使用的 ASM 和 cglib 的版本,并确认它们是您正在使用的 EasyMock 版本所支持的版本。

    【讨论】:

      【解决方案2】:

      应该使用cglib.nodep-2.2.2.jar 而不是cglib-2.2.2.jar

      【讨论】:

      • 包含一些关于为什么这样可以解决问题的信息会很有帮助。
      • @helperDude:请写出两者有什么区别。
      猜你喜欢
      • 2011-06-28
      • 1970-01-01
      • 2019-07-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-01-13
      • 1970-01-01
      • 2017-07-11
      相关资源
      最近更新 更多