【发布时间】:2013-12-17 04:44:45
【问题描述】:
当我将 mockito 库添加到类路径,并使用一个简单的 mockito 示例进行测试时,我尝试使用 mock 对象为函数 add 返回错误值,我得到 java.lang.verifyerror。以下是用于测试的代码,后面是logcat。
@Test
public void testadd()
{
maincode obj2=mock(maincode.class);
when(obj2.add(0, 0)).thenReturn(9);
assertEquals(obj2.add(0, 0),9);
}
我收到以下错误。请帮忙!谢谢。
java.lang.VerifyError: org/mockito/cglib/core/ReflectUtils 在 org.mockito.cglib.core.KeyFactory$Generator.generateClass(KeyFactory.java:167) 在 org.mockito.cglib.core.DefaultGeneratorStrategy.generate(DefaultGeneratorStrategy.java:25) 在 org.mockito.cglib.core.AbstractClassGenerator.create(AbstractClassGenerator.java:217) 在 org.mockito.cglib.core.KeyFactory$Generator.create(KeyFactory.java:145) 在 org.mockito.cglib.core.KeyFactory.create(KeyFactory.java:117) 在 org.mockito.cglib.core.KeyFactory.create(KeyFactory.java:109) 在 org.mockito.cglib.core.KeyFactory.create(KeyFactory.java:105) 在 org.mockito.cglib.proxy.Enhancer.(Enhancer.java:70) 在 org.mockito.internal.creation.jmock.ClassImposterizer.createProxyClass(ClassImposterizer.java:85) 在 org.mockito.internal.creation.jmock.ClassImposterizer.imposterise(ClassImposterizer.java:62) 在 org.mockito.internal.creation.jmock.ClassImposterizer.imposterise(ClassImposterizer.java:56) 在 org.mockito.internal.creation.CglibMockMaker.createMock(CglibMockMaker.java:23) 在 org.mockito.internal.util.MockUtil.createMock(MockUtil.java:26) 在 org.mockito.internal.MockitoCore.mock(MockitoCore.java:51) 在 org.mockito.Mockito.mock(Mockito.java:1243) 在 org.mockito.Mockito.mock(Mockito.java:1120) 在 testaddmock.testadd(testaddmock.java:24) 在 java.lang.reflect.Method.invokeNative(Native Method) 在 android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:191) 在 android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:176) 在 android.test.InstrumentationTestRunner.onStart(InstrumentationTestRunner.java:554) 在 android.app.Instrumentation$InstrumentationThread.run(Instrumentation.java:1701)
【问题讨论】:
-
这个错误是由于 jar 问题。您的类路径中是否有正确的 jar,请参阅 stackoverflow.com/questions/100107/…
-
我查看了链接的问题。就我而言,我的机器上只有一个“mockito”库(mockito-all-1.9.5.jar),所以我看不出运行时不匹配的原因。
-
也许你周围还有其他包含 mockito 类的 jar?尝试打印出类路径 (mkyong.com/java/how-to-print-out-the-current-project-classpath) 并将其附加到问题中。
标签: java android eclipse mockito