Request request = Request.create(Request.HttpMethod.GET, "url",
new HashMap<>(), null, new RequestTemplate());
throw new FeignException.NotFound("", request, null);
var ex = Mockito.mock(FeignException.class);
Mockito.when(ex.status()).thenReturn(404);
Mockito.when(mockedApiClient.userDataDelete(anyString()))
.thenThrow(ex);
6条答案
按热度按时间erhoui1w1#
Feign已经提供了NotFound等内部类和其他典型的HTTP响应代码类型。下面是一个示例。
只要根据你的需要修改以上内容!需要注意的关键点是Request对象是强制性的。截至2021年,像Request.create这样的重载已经过时了。注意你使用的东西!
希望有帮助!快乐编码!
k10s72fa2#
好吧,对我来说工作如下(我使用EasyRandom作为一些字段的生成器):
ecr0jaav3#
要在模拟服务时返回404伪异常,您可以尝试以下操作:
1.创建您自己的异常类,它将扩展伪异常。
1.使用HttpStatus.NOT_FOUND值注解响应状态。
1.如下所示重写构造函数:
1.在Junit测试用例中,抛出创建的sampleFeignException类。
我希望这能帮助你解决这个问题。
pcww981p4#
除非提供了其他更好的解决方案,否则这就是我克服这一点的方法...
8xiog9wr5#
您可以避免创建请求,而只是模拟它。
flvlnr446#
嘲笑您的
FeignException
: