首页 > 解决方案 > 如何使用 ArgumentMatcher 模拟 resttemplate?

问题描述

当我尝试以下代码时,我想模拟 restTemplate.exchange 。

Mockito.when(restTemplate.exchange(ArgumentMatchers.eq(clientEndpoint.getUrl()),ArgumentMatchers.eq(HttpMethod.POST),
                ArgumentMatchers.eq(new HttpEntity<>(ArgumentMatchers.any(String.class),ArgumentMatchers.eq(headers))), ArgumentMatchers.eq(Map.class))).thenReturn(rEntity);

我收到以下错误,

在此处输入图像描述

我该如何解决这个问题?

提前致谢!

标签: javaspring-bootjunitmockito

解决方案


我解决了这个问题,似乎没有ArgumentMatchers.eqthen 后跟 a new instance,我改变了这样的代码

Mockito.when(restTemplate.exchange(ArgumentMatchers.eq(clientEndpoint.getUrl()),ArgumentMatchers.eq(HttpMethod.POST),
                new HttpEntity<>(ArgumentMatchers.any(String.class),ArgumentMatchers.eq(headers)), ArgumentMatchers.eq(Map.class))).thenReturn(rEntity);

现在对我有用


推荐阅读