spring rest文档-服务层嘲讽



最近我看到一篇博客文章说"为了文档的目的,我们对服务层使用mocking(在使用spring-rest doc的环境中(",所以这篇文章使用了类似spring的@MockBean这样的注释来服务层对象。

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

所以我认为这是不对的,但是,

我想知道什么更好,或者如何将服务对象与spring-rest文档一起使用

请回答

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

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

模拟服务层的一个优点是,它可以更容易地记录错误场景或需要大量设置的场景。在出现错误的情况下,我认为您最好在整个API中采用一种通用的方法,并一致地使用标准HTTP错误代码。如果这样做,就减少了记录服务中每个端点的错误响应的需要。

这就留下了记录更复杂的场景,需要大量的设置。在这种情况下,有限地使用mock可能是值得的,但我仍然希望在不依赖mock的情况下生成尽可能多的文档。

最新更新