Test Fixing 技能:按根因排查 pytest 批量失败
EnglishClaude Code 安装步骤
- 从 GitHub 固定提交获取完整的 `cli-tool/components/skills/development/test-fixing` 目录。
- 复制到目标项目的 `.claude/skills/`,确认 `.claude/skills/test-fixing/SKILL.md`,再从项目根目录启动 Claude Code,输入 `/test-fixing`。
中文摘要
给 Claude Code 一次完整测试的输出,让它按异常、模块和根因分组。先修复共用导入或配置,再处理 API 和业务断言。
SKILL.md 中文导读
可复现示例
本地重命名 utils.money 模块后,先运行 uv run pytest。将由旧导入路径引发的收集失败分组并修复,再用 uv run pytest tests/test_receipts.py -v 核对剩余金额断言。最后重跑项目全量测试。工作步骤
- 先复现整套测试并保存原始失败,区分收集失败和实际断言失败。检查最近变更找到共同原因。
- 逐组做最小修改,运行受影响用例,最后重跑整套测试。
验收方法
导入问题可在局部重跑中消失,金额计算断言得到单独验证,全量测试能确认修复未影响其他模块。
GitHub 原文 · 更新日期
适用环境
准备自己的 Python 项目和 pytest。项目使用 uv 时可沿用 uv run pytest,完整套件用仓库已有测试命令。
常见问题
pytest 在收集阶段终止,还能直接排查金额断言吗?
先修复阻断收集的导入或配置问题,再运行相关测试文件查看完整断言结果。