这是我参与11月更文挑战的第15天,活动详情查看:2021最后一次更文挑战
本系列代码地址:github.com/JoJoTec/spr…
我们继续上一节针对我们的重试进行测试
验证针对可重试的方法响应超时异常重试正确
我们可以通过 httpbin.org 的 /delay/响应时间秒
来实现请求响应超时。例如 /delay/3
就会延迟三秒后返回。这个接口也是可以接受任何类型的 HTTP 请求方法。
我们先来指定关于 Feign 超时的配置 Options:
1 | less复制代码//SpringExtension也包含了 Mockito 相关的 Extension,所以 @Mock 等注解也生效了 |
我们分别定义会超时和不会超时的接口:
1 | kotlin复制代码@FeignClient(name = "testService1", contextId = "testService1Client") |
编写测试,还是通过获取调用负载均衡获取实例的次数确定请求调用了多少次。
1 | ini复制代码@Test |
验证针对不可重试的方法响应超时异常不能重试
对于 GET 方法,我们默认是可以重试的。但是一般扣款这种涉及修改请求的接口,我们会使用其他方法例如 POST。这一类方法一般请求超时我们不会直接重试的。我们还是通过 httporg.bin 的延迟接口进行测试:
1 | kotlin复制代码@FeignClient(name = "testService1", contextId = "testService1Client") |
编写测试,还是通过获取调用负载均衡获取实例的次数确定请求调用了多少次。
1 | ini复制代码@Test |
微信搜索“我的编程喵”关注公众号,每日一刷,轻松提升技术,斩获各种offer:
本文转载自: 掘金