如何为具有返回值(类实例)的方法编写模拟测试
userService
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)
}
我不知道如何为这种方法编写测试用例,任何人都可以提供一些想法吗?
答案 0 :(得分:2)
let result = [];
array.forEach(el => {
result.push(el.monthly);
})
console.log(result);
虽然不太清楚您要在这里实现什么。如果您正在测试的类是UserService,那么您不应该在模拟它。您应该在测试中调用getUserInfo,并声明返回值与您的期望相同。
答案 1 :(得分:1)
您可以使用mockito中的when(mock.method).thenReturn(value)。
when(userservice.getUserInfo(eq(this.userId)).thenReturn(<your value here>)