Junit Mockito在Spring集成框架中为ResponseEntity <?>测试案例

Jil*_*ill 6 junit spring-integration mockito

我想嘲笑外部电话.

 ResponseEntity<?> httpResponse = requestGateway.pushNotification(xtifyRequest);
Run Code Online (Sandbox Code Playgroud)

requestGateway是一个界面.

public interface RequestGateway
{
ResponseEntity<?> pushNotification(XtifyRequest xtifyRequest);
}
Run Code Online (Sandbox Code Playgroud)

以下是我正在尝试的测试方法.

 @Test
public void test()
{


    ResponseEntity<?> r=new ResponseEntity<>(HttpStatus.ACCEPTED);

    when(requestGateway.pushNotification(any(XtifyRequest.class))).thenReturn(r);
}
Run Code Online (Sandbox Code Playgroud)

上面的when语句中存在编译错误,称其为无效类型.甚至thurgg类型为ResponseEntity.

有谁可以帮我解决这个问题?

Nit*_*mas 11

您可以改为使用type-unsafe方法

doReturn(r).when(requestGateway.pushNotification(any(XtifyRequest.class)));
Run Code Online (Sandbox Code Playgroud)

或者您可以在模拟时删除类型信息

ResponseEntity r=new ResponseEntity(HttpStatus.ACCEPTED);
when(requestGateway.pushNotification(any(XtifyRequest.class))).thenReturn(r);
Run Code Online (Sandbox Code Playgroud)