Spring 集成框架中 ResponseEntity<?> 的 Junit Mockito 测试用例

Posted

技术标签:

【中文标题】Spring 集成框架中 ResponseEntity<?> 的 Junit Mockito 测试用例【英文标题】:Junit Mockito test case for ResponseEntity<?> in spring integration framework 【发布时间】:2016-12-25 05:52:21 【问题描述】:

我正在尝试模拟外部调用。

 ResponseEntity&lt;?&gt; 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语句有编译错误,说它是无效类型。即使r是ResponseEntity类型。

谁能帮我解决这个问题?

【问题讨论】:

【参考方案1】:

您可以改用类型不安全的方法

doReturn(r).when(requestGateway.pushNotification(any(XtifyRequest.class)));

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

ResponseEntity r=new ResponseEntity(HttpStatus.ACCEPTED);
when(requestGateway.pushNotification(any(XtifyRequest.class))).thenReturn(r);

【讨论】:

以上是关于Spring 集成框架中 ResponseEntity<?> 的 Junit Mockito 测试用例的主要内容,如果未能解决你的问题,请参考以下文章

集成框架 - Apache Camel 与 Spring 集成? [关闭]

Elasticsearch - Spring Data 框架集成;Spark Streaming 框架集成;Flink 框架集成

Spring 集成框架中 ResponseEntity<?> 的 Junit Mockito 测试用例

Spring系列之Spring框架和SpringAOP集成过程分析

Spring 安全框架Kerberos 集成

Spring系列之Spring框架和SpringAOP集成过程分析