【发布时间】:2019-02-21 18:19:45
【问题描述】:
我正在为服务调用编写一些重试逻辑,并尝试在单元测试中测试 Rest Template 是否尝试命中服务一定次数。我正在使用以下代码来执行测试。
MockRestServiceServer mockServer = MockRestServiceServer.bindTo(restTemplate).build();
mockServer.expect(ExpectedCount.times(5), method(HttpMethod.GET))
.andRespond(withServerError());
service.call();
我将重试逻辑设置为仅进行两次尝试。上面的测试代码要求它发生五次,但测试总是通过。事实上,我可以让这个测试失败的唯一方法是将预期计数设置为 1(任何小于实际调用次数的值)。当我使用ExpectedCount.min 或ExpectedCount.between 时会出现同样的问题,因为只有在实际调用超出预期时测试才会失败。
我需要能够测试确切数量的服务调用,最好不使用 Mockito。
【问题讨论】:
标签: rest spring-boot junit