below code snippet of consume webservice using rest template and its working fine.
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.APPLICATION_JSON);
headers.set(HttpHeaders.AUTHORIZATION, token);
HttpEntity<Map<String, Object>> entity = new HttpEntity<>(headers);
UriComponentsBuilder builder = UriComponentsBuilder.fromUriString(property.getApiUrl())
.queryParam(NAME, "test")
.queryParam(AGE, 10);
UriComponents uriComponents = builder.build().encode();
ResponseEntity<List<User>> response = restTemplate.exchange(uriComponents.toUri(), HttpMethod.GET, entity, new ParameterizedTypeReference<List<User>>() {});
List<User> searchResult = response.getBody();
When I prepare test case using mockit and while executing actual method always response returns null.
I have mocked like below
ResponseEntity<List<User>> myEntity = new ResponseEntity<>(Arrays.asList(new User()), HttpStatus.OK);
when(restTemplate.exchange(
uriComponents.toUri(),
HttpMethod.GET,
entity,
new ParameterizedTypeReference<List<User>>() {})
).thenReturn(myEntity);
question from:
https://stackoverflow.com/questions/66062013/resttemplate-junit-exchange-method-response-null 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…