【发布时间】:2022-02-02 20:56:08
【问题描述】:
我找不到我的问题的答案,也许是一个有趣的问题。 我在我的生产代码 feignClient 中有通过 100 个元素向另一台服务器询问可分页信息的信息 - pageSize(0, 1, 2... etc)。它正在工作)) 但是后来我尝试通过wireMock测试我的代码,我模拟了分页的响应,我的测试在循环中死了。我无法理解进行集成测试的最佳方法,或者我的生产代码很糟糕。 零件:
List<Object> objects = new ArrayList<>();
List<Answer> convertedObjects;
Pageable page = PageRequest.of(0, 100);
do {
page.next();
List<Object> list = FeignClient.answer(page.pageNumber(), page.pageSize());
convertedObjects = converterList(list, Object.class);
objects.addAll(convertedObjects);
} while(!convertedObject.isEmpty());
那我测试一下
Wiremock.stubFor(url).willReturn(object)...
restTemplate.exchange(url)...
所以我的生产代码中的这个循环不要让下一步继续。因为wireMock每次都在回答我的willReturn。 其实我只需要返回一次,怎么处理呢? 谢谢!
【问题讨论】:
-
是否有任何额外的查询参数或任何东西可以区分第一个请求和第二个请求?您可以使用优先级来拥有两个单独的存根。
标签: java spring integration-testing resttemplate wiremock