2012-04-05 9 views
1

I Mock erstellt haben:Erstellen EasyMock Mock wirft NoSuchMethodError Ausnahme

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

Und Im folgenden Ausnahme erhalten:

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

Ich bin sicher, dass MockedClass existiert. Was ist der Grund für dieses Problem?

Antwort

2

EasyMock hängt von cglib ab, was wiederum von ASM abhängt. Von der Ausnahme scheint cglib einen ASM-Konstruktor aufzurufen, der nicht existiert. Die Version von ASM, die verwendet wird, ist daher nicht mit der verwendeten Version von cglib kompatibel. Überprüfen Sie die Versionen von ASM und cglib, die Sie verwenden, und bestätigen Sie, dass es sich um die Versionen handelt, die von der verwendeten Version von EasyMock unterstützt werden.

0

cglib.nodep-2.2.2.jar sollte anstelle von cglib-2.2.2.jar verwendet werden.

+3

Es wäre hilfreich, einige Informationen hinzuzufügen, warum dies das Problem behebt. – Trisha

+0

@helperDude: Bitte schreiben Sie, was der Unterschied zwischen den beiden ist. –