如何有效地创建API模拟以对每个微服务进行隔离测试?

我们有一个应用程序,其中包含十多个使用 Spring Boot 的基于 Rest 的微服务。我想创建自动化测试来在模拟生产者服务 API 的同时隔离测试我的每个服务。我尝试使用 wiremock 创建模拟,但手动创建这些 API 请求和模拟响应非常乏味。有没有更好的方法来实施服务测试?

回答

是的,API 模拟是一项繁琐的工作,但对于帮助在开发周期的早期测试功能和集成非常有效。所以,我认为你的目标非常恰当。

您已经在尝试使用 Wiremock。就像你说的,它需要开发人员创建和维护模拟,以免它们变得陈旧。这里有几种方法可以减少创建和维护 API 模拟的痛苦。

a) 如果您可以将服务中的出口 URL 指向 nginx、Envoy 等代理,然后将它们转发到您的生产者服务,您就可以自动创建这些 API 模拟。在代理处,您可以记录对生产者服务的出口请求及其响应。然后,您可以从记录的请求和响应中创建模拟。甚至Postman和Wiremock也有代理,您可以使用这些代理进行额外的配置/设置工作。

b) Mesh Dynamics是一种工具,可以很好地实现此用例的高效创建服务测试。它保存入口和出口请求/响应以及入口-出口跟踪,因此有助于调试。然后将它们转换为服务测试,并从捕获中自动创建模拟。您可以在本地或在 CI 管道中运行服务测试。


以上是如何有效地创建API模拟以对每个微服务进行隔离测试?的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>