如何利用 AI 系统性地修复所有失败测试用例

解决测试失败时的盲目修复问题:通过引导 AI 采用“运行-分组-优先级修复-验证”的系统化工作流,高效地将损坏的测试套件恢复至通过状态。

为什么需要这个技能

在进行大规模重构或处理复杂 Bug 时,测试套件可能会出现大量失败(Failures)。如果让 AI 一个一个地随机修复,往往会出现“修好 A 导致 B 崩溃”的循环,且效率低下。

本技能的核心在于智能分组(Smart Grouping)。通过将相似的错误类型(如所有的 ImportError)聚合在一起,AI 可以一次性解决一类根源问题,从而以最少的迭代次数让所有测试通过。

适用场景

  • 明确要求 AI “修复这些测试”或“让测试通过”时。
  • 收到 CI/CD 流水线报错,提示测试套件损坏时。
  • 完成功能实现后,需要验证并修复剩余的测试用例时。
  • 重构代码后导致大面积测试失效。

核心工作流

1. 初始扫描与分析

首先执行 make test 运行完整测试集,分析输出结果以确定失败的总数、错误类型分布以及受影响的模块。

2. 智能错误分组

AI 不会随机修复,而是根据以下维度进行分组:

  • 错误类型:如 ImportErrorAttributeErrorAssertionError 等。
  • 物理位置:同一文件引起的多个失败。
  • 根因分析:如依赖缺失、API 变更或重构影响。

3. 优先级修复策略

按照从基础到逻辑的顺序推进:

  1. 基础设施层(最高优先级):修复导入错误、缺失依赖、配置问题。
  2. API 接口层:修复函数签名变更、模块重组、变量更名。
  3. 业务逻辑层(最后处理):修复断言失败、边界条件 Bug。

4. 迭代修复与验证

针对每个分组执行:定位根因 实施最小化修复 运行该组子集验证 确认通过后进入下一组

可以使用如下命令进行精准验证:

uv run pytest tests/path/to/test_file.py -v
uv run pytest -k "pattern" -v

下载和安装

下载 test-fixing 中文版 Skill ZIP

解压后将目录放入你的 AI 工具 skills 文件夹,重启工具后即可使用。具体路径参考内附的 USAGE.zh.md

你可能还需要

暂无推荐