无法监视ActivityInstrumentationTestCase2中的Android活动

无法监视ActivityInstrumentationTestCase2中的Android活动,android,testing,android-activity,mockito,Android,Testing,Android Activity,Mockito,我试图监视一个活动,但它给了我以下异常: 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.in

我试图监视一个
活动
,但它给了我以下异常:

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 WaitForCardActivity_Proxy.isRegisterActivated(WaitForCardActivity_Proxy.generated)
代码如下:

@RunWith(AndroidJUnit4.class)
public class WaitForCardActivityTests extends ActivityInstrumentationTestCase2<WaitForCardActivity> {

    @Before
    @Override
    public void setUp() throws Exception {
        super.setUp();

        injectInstrumentation(InstrumentationRegistry.getInstrumentation());

        waitForCardActivity = spy(getActivity());
        when(waitForCardActivity.isRegisterActivated()).thenReturn(true);
    }

    ...
}

另请注意:我不能使用Robolectric,因为我使用的是
密码
s,在使用Robolectric运行时会出现问题。

Spy
活动

Activity activity = spy(Activity.class);
更新: 就你而言:

    WaitForCardActivity activity = spy(WaitForCardActivity.class);
    when(activity.isRegisterActivated()).thenReturn(true);
    assertTrue(activity.isRegisterActivated());

这并没有解决我的问题。引发了相同的异常。请检查我的更新。另外,我使用的是
RobolectrictTestRunner
,而您使用的是
AndroidJUnit4
,但它不应该影响对象
spy
。还有一件事:
spy
ActivityInstrumentationTestCase2
测试用例中使用
Activity
。您必须用于单元测试。我建议您用于单元测试目的。
    WaitForCardActivity activity = spy(WaitForCardActivity.class);
    when(activity.isRegisterActivated()).thenReturn(true);
    assertTrue(activity.isRegisterActivated());