【发布时间】:2019-12-26 07:18:51
【问题描述】:
各位专家下午好,
我有一个要求,我将调用 3 个 REST API 作为单个客户端调用 GET /offers 的一部分,以检索百货商店不同过道中每种产品的可用报价,如下所示
- 获取百货商店的所有过道/aisels
- 获取通道中的所有产品 /aisles/{aisleID}/products
-
获取产品 /product/{productId/offers 的所有报价
要从我的
@Service类中使用 RestTemplate 交换方法执行此操作:ResponseEntity aisles=restTemplate.exchange(url, HttpMethod.GET, requestEntity, Aisles.class);
然后在循环中检索每个 aisleId 并调用第二个 API 以获取产品
ResponseEntity<Products> products= restTemplate.exchange(url,
HttpMethod.GET, requestEntity, Products.class);
然后在循环中检索每个productId 并调用第三个 API 以获取优惠
最后整理所有响应,将报价列表发送给客户。
现在,我对编写 JUnit 的 mockito 框架很陌生。我的服务类有一个名为 retrieveAllOffers() 的方法,其中我有上面的 3 个交换方法。
我想知道如何在我的 Junit 中模拟这 3 个调用以获得成功的响应场景。
非常感谢您的帮助。
【问题讨论】:
-
在这里查看我的
answer以获取有关如何模拟restTemplate#exchange方法的示例。如果您需要更具体的内容,请在您的问题中添加一些正在测试的类/方法的代码示例。
标签: junit mockito spring-boot-test