Mockito Matchers:匹配参数列表中的类类型
我正在使用Java,Spring的RestTemplate和Mockito,使用Eclipse。我正在尝试模拟Spring的休息模板,我正在模拟的方法的最后一个参数是Class类型。以下是该函数的签名:
public <T> ResponseEntity<T> exchange(URI url,
HttpMethod method,
HttpEntity<?> requestEntity,
Class<T> responseType)
throws RestClientException
我最初尝试模拟此方法如下:
//given restTemplate returns exception
when(restTemplate.exchange(isA(URI.class), eq(HttpMethod.POST), isA(HttpEntity.class), eq(Long.class))).thenThrow(new RestClientException(EXCEPTION_MESSAGE));
但是,这行代码会从 eclipse 中产生以下错误:
The method exchange(URI, HttpMethod, HttpEntity<?>, Class<T>) in the type RestTemplate is not applicable for the arguments (URI, HttpMethod, HttpEntity, Class<Long>)
Eclipse 然后建议我用“Class”强制转换最后一个参数,但是如果我将其强制转换为“Class”或其他类型的参数,它似乎不起作用。
我一直在网上寻找这方面的帮助,但似乎对请求的参数是类类型这一事实感到困惑。
到目前为止,我看到的答案主要与通用集合有关。任何帮助将不胜感激。