创建EasyMock mock会抛出NoSuchMethodError异常

时间:2012-04-05 12:10:04

标签: java easymock cglib

我创建了mock:

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存在。这个问题的原因是什么?

2 个答案:

答案 0 :(得分:2)

EasyMock取决于cglibASM依赖于{{3}}。从异常中可以看出,cglib正在调用一个不存在的ASM构造函数。因此,正在使用的ASM版本与正在使用的cglib版本不兼容。验证您正在使用的ASM和cglib的版本,并确认它们是您正在使用的EasyMock版本支持的版本。

答案 1 :(得分:0)

应该使用

cglib.nodep-2.2.2.jar代替cglib-2.2.2.jar