目前,我正在开发一个关于 Spring Boot 的项目,我们正在与外部 REST API 集成。作为集成套件测试的一部分,我们正在对作为 CI/CD 的一部分执行的实际外部 API 进行模拟测试。
我的问题是在生产中它调用实际的 API,那么我们如何在测试环境中做到这一点。我认为我们不需要在多个集成测试期间进行实际的外部提供程序调用,这将加载外部 API,同时也希望使用来自服务的实际 REST 响应进行测试。
有什么建议吗?
如果公共 API 有 swagger 描述,您可以使用 Atlassian Pact Swagger Validator。我在本次演讲中描述了工作流程:https://www.youtube.com/watch?v=79GKBYSqMIo#t=39m10s
另一种选择是为外部服务创建一个模拟 API。您可以使用一些免费服务,例如 https://mockfirst.com、https://www.mockable.io/ 等。
尝试Rapidmock。它可以免费使用,您可以为任何端点模拟任意数量的响应。这样,您甚至可以在实际后端 API 准备好之前对其进行模拟。