java.lang.AbstractMethodError 在 Android 中侦测 LinkedList
java.lang.AbstractMethodError when spy the LinkedList in Android
我想监视 android 中的链表。
List list = new LinkedList();
List spyData = Mockito.spy(list);
spyData.add("xxxx");
然而,异常发生了。
java.lang.AbstractMethodError: abstract method "boolean org.mockito.internal.invocation.AbstractAwareMethod.isAbstract()"
at org.mockito.internal.invocation.InvocationImpl.callRealMethod(InvocationImpl.java:109)
at org.mockito.internal.stubbing.answers.CallsRealMethods.answer(CallsRealMethods.java:41)
at org.mockito.internal.handler.MockHandlerImpl.handle(MockHandlerImpl.java:93)
at org.mockito.internal.handler.NullResultGuardian.handle(NullResultGuardian.java:29)
at org.mockito.internal.handler.InvocationNotifierHandler.handle(InvocationNotifierHandler.java:38)
at com.google.dexmaker.mockito.InvocationHandlerAdapter.invoke(InvocationHandlerAdapter.java:49)
at LinkedList_Proxy.add(LinkedList_Proxy.generated)
at com.app.test.testmethod(mytest.java:202)
at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:191)
at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:176)
at android.test.InstrumentationTestRunner.onStart(InstrumentationTestRunner.java:555)
at android.app.Instrumentation$InstrumentationThread.run(Instrumentation.java:1858)
libs的依赖是
dexmaker-1.2.jar
dexmaker-mockito-1.2.jar
mockito-core-1.10.19.jar
即使我更新 mockito-core-1.10.19.jar
到 mockito-core-2.0.31-beta.jar
,
问题依然存在
但是Mockito.mock(Linkedlist.class)
还可以,我对这个问题没有想法。
谢谢。
可能是 mockito 1.10 和 dexmaker 1.2 之间的问题,
您可以尝试强制使用 mockito 1.9.5 并查看是否可以解决问题吗?
我刚刚找到了另一种解决问题的方法。
这是 dexmaker 1.2 的问题,我们应该升级到 dexmaker 1.4、dexmaker-mockito 1.4 并包含 dexmaker-dx-1.4。
所以依赖关系是
dexmaker-dx-1.4.jar
dexmaker-1.4.jar
dexmaker-mockito-1.4.jar
mockito-core-1.10.19.jar
我想监视 android 中的链表。
List list = new LinkedList();
List spyData = Mockito.spy(list);
spyData.add("xxxx");
然而,异常发生了。
java.lang.AbstractMethodError: abstract method "boolean org.mockito.internal.invocation.AbstractAwareMethod.isAbstract()"
at org.mockito.internal.invocation.InvocationImpl.callRealMethod(InvocationImpl.java:109)
at org.mockito.internal.stubbing.answers.CallsRealMethods.answer(CallsRealMethods.java:41)
at org.mockito.internal.handler.MockHandlerImpl.handle(MockHandlerImpl.java:93)
at org.mockito.internal.handler.NullResultGuardian.handle(NullResultGuardian.java:29)
at org.mockito.internal.handler.InvocationNotifierHandler.handle(InvocationNotifierHandler.java:38)
at com.google.dexmaker.mockito.InvocationHandlerAdapter.invoke(InvocationHandlerAdapter.java:49)
at LinkedList_Proxy.add(LinkedList_Proxy.generated)
at com.app.test.testmethod(mytest.java:202)
at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:191)
at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:176)
at android.test.InstrumentationTestRunner.onStart(InstrumentationTestRunner.java:555)
at android.app.Instrumentation$InstrumentationThread.run(Instrumentation.java:1858)
libs的依赖是
dexmaker-1.2.jar
dexmaker-mockito-1.2.jar
mockito-core-1.10.19.jar
即使我更新 mockito-core-1.10.19.jar
到 mockito-core-2.0.31-beta.jar
,
问题依然存在
但是Mockito.mock(Linkedlist.class)
还可以,我对这个问题没有想法。
谢谢。
可能是 mockito 1.10 和 dexmaker 1.2 之间的问题, 您可以尝试强制使用 mockito 1.9.5 并查看是否可以解决问题吗?
我刚刚找到了另一种解决问题的方法。
这是 dexmaker 1.2 的问题,我们应该升级到 dexmaker 1.4、dexmaker-mockito 1.4 并包含 dexmaker-dx-1.4。
所以依赖关系是
dexmaker-dx-1.4.jar
dexmaker-1.4.jar
dexmaker-mockito-1.4.jar
mockito-core-1.10.19.jar