java - 具有返回值的模拟测试方法

标签 java spring-boot mockito

如何为有返回值的方法(类实例)编写模拟测试

用户服务

public User getUserInfo(String userId) {
        RestTemplate restTemplate = new RestTemplate();
        String url = http:127.0.0.1 + userId ;
        return restTemplate.getForObject(url, User.class);
}

public class TimUser {
    private String id = null;
    private String userName = null;
    **********GET & SET method***********;
}

 @Mock
private userService userService;
private String userId;


@Before
public void set_up(){
    MockitoAnnotations.initMocks(this);
    userId = "";
}

@Test
public void getUserInfo(){

    userService.getUserInfo(userId)

}

我不知道如何为这种方法编写测试用例,谁能提供一些想法?

最佳答案

Mockito.when(userService.getUserInfo(userId)).thenReturn(value);

虽然不确定您要在此处实现什么目标。如果您正在测试的类是 UserService 那么您不应该模拟它。您应该在测试中调用 getUserInfo 并断言返回值与您的预期相同。

关于java - 具有返回值的模拟测试方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54149711/

相关文章:

java - 如何在 Java 中创建常量对象?

java - 我需要定义什么类型的变量来插入以下类型的数据(Spring-boot,Mongodb)

java - org.mockito.exceptions.misusing.InvalidUseOfMatchersException :

java - 使用mockito无需依赖注入(inject)

java - Android 在复选框上振动

java - Integer.parseint 异常

java - GWT - 防止 PDF 文件在 IE 中缓存?

java - Spring Boot 生产监控

java - Spring Boot RestTemplate : Error 415 Unsupported Media Type

java - Mockito 失败并显示 "Argument(s) are different"但调试器显示不同