如何在 Spy 对象上应答后执行 Mockito 中的原始方法

Igo*_*daš 2 mockito powermockito

我想知道描述中的事情是否可能以及如何做到。

我知道你可以调用原始方法,然后像这样回答:

when(presenter, "myMethod").doAnswer(<CUSTOMANSWER>)
Run Code Online (Sandbox Code Playgroud)

但我想以不同的方式订购它们,首先执行 CUSTOMANSWER,然后调用原始方法。

rog*_*ack 5

对于追随者来说,实际上可以doAnswer 同时 callRealMethod......

   doAnswer(new Answer<Object>() {
      public Object answer(InvocationOnMock invocationOnMock) throws Throwable {
        invocationOnMock.callRealMethod(); // this one
        return null;
      }
    }).when(subject).method(...);
Run Code Online (Sandbox Code Playgroud)