在没有模拟的情况下测试 REST API 提供商响应

Testing REST API provider response without mock

目前,我正在开发一个关于 Spring Boot 的项目,我们将在其中与外部 REST API 集成。作为集成套件测试的一部分,我们正在对作为 CI/CD 的一部分执行的实际外部 API 进行模拟测试。

我的问题是在生产中它调用实际 API 所以,我们如何在测试环境中做到这一点。我认为我们不需要在将加载外部的多重集成测试期间进行实际的外部提供程序调用 API,同时也想使用来自服务的实际 REST 响应进行测试。

有什么建议吗?

如果 public API 有 swagger 描述,您可以使用 Atlassian Pact Swagger Validator. I describe the workflow in this talk: https://www.youtube.com/watch?v=79GKBYSqMIo#t=39m10s

另一种选择是为外部服务创建一个模拟 API。有一些免费服务,例如 https://mockfirst.com, https://www.mockable.io/ 等,您可以在其中执行此操作。