java - 如何使用mockito框架获取返回的对象

标签 java mockito junit5

Mockito 框架的新功能。

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

上面的代码我需要用mockito进行测试,并且我想要RcExtensionInfo的真实对象,因为这个对象在我的代码中用于少数getter方法。目前无法调用 getter 方法,因为 null。据我们所知 如果我们模拟某个方法,那么默认值将为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(... ),在模拟对象上调用真正的方法。

关于java - 如何使用mockito框架获取返回的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58659516/

相关文章:

java - Junit 测试单独通过但一起运行时失败

java - 无法将 map 加载到 Android(三星)手机中

python - 无法使用 __exit__ 方法创建mockito模拟

JavaMelody 阻碍 Spring Boot 测试

java - 如何使用 Scanner 和 while 循环进行 JUnit 测试 void 方法

java - 在when().thenReturn()返回的对象上调用方法

java - Spring MySQL Profiler 抛出异常

spring - MockMvc 返回 null 而不是对象

java - Mockito doThrow() 方法使我的测试因给定异常而失败

java.lang.UnsupportedClassVersionError 与 arraylist