Mockito框架的新功能。

 RcExtensionInfo rcExtensionInfo = rcApiClient.get(
                RC_OFFICE_EXTENSION_INFO_API_PATH,
                pathVariablesForExtensionInfoRequest,
                customRequestHeaders,
                RcApplicationHeadersService.RcApplicationType.OFFICE_INTEGRATION,
                RcExtensionInfo.class
        );


上面的代码我需要使用Mockito进行测试,并且我想要RcExtensionInfo的真实对象,因为该对象在我的代码中很少使用getter方法。由于null,当前无法调用getter方法。我们知道
如果我们模拟某种方法,则默认值为null。但是我认为我们可以将thenReturn方法中的对象分配给该引用。

测试代码:

RcAccountInfo rcAccountInfo = new RcAccountInfo();
    rcAccountInfo.setMainNumber("+198473621");
    when(rcApiClient.get(RC_OFFICE_ACCOUNT_INFO_API_PATH,
            new HashMap<String, String>(), new HashMap<String, String>(),
            RcApplicationHeadersService.RcApplicationType.OFFICE_INTEGRATION,
            RcAccountInfo.class)).thenReturn(rcAccountInfo);

最佳答案

您可以调用Mockito.mock(YourClass.class, Mockito.CALLS_REAL_METHODS)进行设置,使得如果when(..).then(...)没有配置其他任何内容,则将在模拟对象上调用真实方法。

10-04 10:20