经过多年与 CI/CD 流水线中不稳定 API 测试的缠斗,我终于找到了破解之道。以下是我如何将测试不稳定率从 10% 降至 1% 以下的实践经验。
问题所在
刚加入团队时,我们的 API 测试套件简直是一场噩梦:
- 10% 的不稳定测试率 —— 测试在 CI 中随机失败
- 网络问题 导致误报
- 速率限制(429 错误)导致整个测试运行中断
- 缺少模式验证 —— API 变更悄无声息地破坏功能
- 45 分钟的执行时间 —— 阻碍部署流程
- 密钥泄露 在 CI 日志中(安全隐患)
解决方案:分层架构
我设计了一个三层架构,将关注点分离,使测试更易于维护:
