我试图用以下代码模拟 RestTemplate exchange(( 调用:
测试方法
given(restTemplate.exchange(any(UriComponents.class), any(HttpMethod.class), any(HttpEntity.class), any(StatusResponse.class)))
.willReturn(new ResponseEntity<>(HttpStatus.BAD_GATEWAY));
代码无法编译,因为:
- 它抱怨
cannot resolve method willReturn(new ResponseEntity<>(HttpStatus.BAD_GATEWAY))
- 它抱怨
cannot resolve method exchange(T, T, T, T)
我应该如何更改签名以使其正常工作?谢谢。
exchange
(url( 的第一个参数应该是 eq("url")
或 anyString()
(假设"url"是你在测试中使用的值(。
第 4 个参数(响应类(应为 eq(StatusResponse.class)
或 any(Class.class)
。
查看交换方法的文档。我没有看到任何在参数中使用UriComponents
的方法。
作为交换方法的第一个参数,您需要使用String
、URI
或RequestEntity