spring rest doc-服务层模拟

问题描述 投票:0回答:1

[最近,我看到博客文章说:“出于文档目的,我们在服务层使用了模拟(在使用spring rest doc的环境中)”,所以这篇文章对服务层对象使用了诸如spring的@MockBean之类的注释。

但是我认为,如果我模拟服务层-> spring rest doc总是能够成功测试,因为模拟的服务对象总是返回预期结果,而spring rest doc test总是从模拟的服务对象接收到相同的预期结果。

所以我认为那是不对的,

我想知道什么更好,或者如何在Spring Rest doc中使用服务对象

请回答

spring spring-boot mocking service-layer spring-restdocs
1个回答
0
投票

使用Spring REST Docs时模拟服务层是否是个好主意,很大程度上取决于个人喜好。

模拟服务层的可能缺点是,文档可能与服务的实际行为不同步。这破坏了REST Docs帮助您保持文档和服务同步的能力。

模拟服务层的一个优势在于,它可以使记录错误方案或否则需要大量设置的方案变得更加容易。对于错误,我认为您最好在整个API中采用通用方法,并始终使用标准HTTP错误代码。如果执行此操作,则减少了记录服务中每个端点的错误响应的需要。

这留下了记录需要大量设置的更复杂场景的文档。在这种情况下,限制使用模拟可能是值得的,但我仍将致力于在不依赖模拟的情况下产生尽可能多的文档。

© www.soinside.com 2019 - 2024. All rights reserved.