如何利用 AI 系统性地修复所有失败测试用例
解决测试失败时的盲目修复问题:通过引导 AI 采用“运行-分组-优先级修复-验证”的系统化工作流,高效地将损坏的测试套件恢复至通过状态。
为什么需要这个技能
在进行大规模重构或处理复杂 Bug 时,测试套件可能会出现大量失败(Failures)。如果让 AI 一个一个地随机修复,往往会出现“修好 A 导致 B 崩溃”的循环,且效率低下。
本技能的核心在于智能分组(Smart Grouping)。通过将相似的错误类型(如所有的 ImportError)聚合在一起,AI 可以一次性解决一类根源问题,从而以最少的迭代次数让所有测试通过。
适用场景
- 明确要求 AI “修复这些测试”或“让测试通过”时。
- 收到 CI/CD 流水线报错,提示测试套件损坏时。
- 完成功能实现后,需要验证并修复剩余的测试用例时。
- 重构代码后导致大面积测试失效。
核心工作流
1. 初始扫描与分析
首先执行 make test 运行完整测试集,分析输出结果以确定失败的总数、错误类型分布以及受影响的模块。
2. 智能错误分组
AI 不会随机修复,而是根据以下维度进行分组:
- 错误类型:如
ImportError、AttributeError、AssertionError等。 - 物理位置:同一文件引起的多个失败。
- 根因分析:如依赖缺失、API 变更或重构影响。
3. 优先级修复策略
按照从基础到逻辑的顺序推进:
- 基础设施层(最高优先级):修复导入错误、缺失依赖、配置问题。
- API 接口层:修复函数签名变更、模块重组、变量更名。
- 业务逻辑层(最后处理):修复断言失败、边界条件 Bug。
4. 迭代修复与验证
针对每个分组执行:定位根因
可以使用如下命令进行精准验证:
uv run pytest tests/path/to/test_file.py -v
uv run pytest -k "pattern" -v
下载和安装
解压后将目录放入你的 AI 工具 skills 文件夹,重启工具后即可使用。具体路径参考内附的 USAGE.zh.md。
你可能还需要
暂无推荐