我正试图嘲笑外部电话。
ResponseEntity<?> httpResponse = requestGateway.pushNotification(xtifyRequest);
requestGateway是一个界面。
public interface RequestGateway
{
ResponseEntity<?> pushNotification(XtifyRequest xtifyRequest);
}
以下是我尝试的测试方法。
@Test
public void test()
{
ResponseEntity<?> r=new ResponseEntity<>(HttpStatus.ACCEPTED);
when(requestGateway.pushNotification(any(XtifyRequest.class))).thenReturn(r);
}
上面的when语句中存在编译错误,称其为无效类型。甚至thougg是ResponseEntity类型。
有谁可以帮我解决这个问题?
答案 0 :(得分:11)
您可以改为使用type-unsafe方法
doReturn(r).when(requestGateway.pushNotification(any(XtifyRequest.class)));
或者您可以在模拟时删除类型信息
ResponseEntity r=new ResponseEntity(HttpStatus.ACCEPTED);
when(requestGateway.pushNotification(any(XtifyRequest.class))).thenReturn(r);