为什么我的模拟不适用于 responseEntity 交换?
Why isnt my mocking not working for responseEntity exchange?
在 groovy 中,我正在尝试使用以下内容来模拟请求的 return,但每当我的代码调用时,我都会收到空指针异常:
ResponseEntity<AnimalVO> result = restTemplate.exchange(url, HttpMethod.GET, new HttpEntity<>(headerUtil.headers()), AnimalVO.class);
测试中:
when(restTemplate.exchange(anyString(), any(HttpMethod.class, any(HttpEntity.class, any(ValueObject.class) as Class)).thenReturn(responseEntityMocked)
我正在使用 mockito 3.12
我的测试因空指针异常而失败,我的 restTemplate 交换(调试时)returns 是一个空值。
我做错了什么吗?
如果对休息寺交流有帮助,定义如下:
exchange(String url, HttpMethod method, HttpEntity<?> requestEntity, Class<T> responseType, Object... uriVariables)
对给定的 URI 模板执行 HTTP 方法,将给定的请求实体写入请求,return将响应作为 ResponseEntity。
尝试以下操作:
when(restTemplate.exchange(anyString(), any(HttpMethod.class),
any(HttpEntity.class), eq(AnimalVO.class)).thenReturn(responseEntityMocked)
在 groovy 中,我正在尝试使用以下内容来模拟请求的 return,但每当我的代码调用时,我都会收到空指针异常:
ResponseEntity<AnimalVO> result = restTemplate.exchange(url, HttpMethod.GET, new HttpEntity<>(headerUtil.headers()), AnimalVO.class);
测试中:
when(restTemplate.exchange(anyString(), any(HttpMethod.class, any(HttpEntity.class, any(ValueObject.class) as Class)).thenReturn(responseEntityMocked)
我正在使用 mockito 3.12 我的测试因空指针异常而失败,我的 restTemplate 交换(调试时)returns 是一个空值。 我做错了什么吗?
如果对休息寺交流有帮助,定义如下:
exchange(String url, HttpMethod method, HttpEntity<?> requestEntity, Class<T> responseType, Object... uriVariables)
对给定的 URI 模板执行 HTTP 方法,将给定的请求实体写入请求,return将响应作为 ResponseEntity。
尝试以下操作:
when(restTemplate.exchange(anyString(), any(HttpMethod.class),
any(HttpEntity.class), eq(AnimalVO.class)).thenReturn(responseEntityMocked)