在Spring引导最新版本中使用Mockito模拟RestTemplate

时间:2016-05-04 21:54:17

标签: spring spring-boot mockito resttemplate

我正在使用1.3.3.RELEASE版本的Spring Boot。

我正在尝试对我的服务进行单元测试,该服务使用RestTemplate调用url来获取html页面。

这是代码

Mockito.when(restTemplate.exchange(  
Mockito.anyString(),  
Mockito.any(HttpMethod.class),  
Mockito.any(HttpEntity.class),  
Mockito.any(Class.class)))  
.thenReturn(new ResponseEntity<String>("",   
new HttpHeaders(), HttpStatus.OK));  

但是返回部分有问题。什么是ResponseEntity的正确构造,以获取HTML页面。

感谢任何帮助。

由于

1 个答案:

答案 0 :(得分:0)

你需要模拟出responseEntity 这样:

ResponseEntity<String> mockResponse = mock(ResponseEntity.class);
when(mockResponse.getStatusCode()).thenReturn(HttpStatus.OK);

然后就像你之前做过的那样:

when(mockRestTemplate.exchange(anyString(), anyObject(), anyObject(), eq(String.class)))
    .thenReturn(mockResponse);