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(...)
没有配置其他任何内容,则将在模拟对象上调用真实方法。