你的 API 在生产环境崩溃,是因为 CI 在测代码,而不是 contracts
大多数 CI 流水线能捕获语法错误和逻辑 bug,却漏掉了真正拖垮生产环境的 API contract 破坏。以下是修复方法。
我们团队中每一个进入生产环境的 API 破坏都通过了 CI。每一个。单元测试是绿的,集成测试套件通过了,部署发出后,Slack 消息就开始刷屏了。 问题不在于我们没做测试。问题在于我们测错了东西。大多数 CI 流水线验证的是代码能否运行,却不验证生产者与消费者之间的 API contract 是否仍然完整。…