test-fixing - SKILL

发布时间:2026/10/6 12:31:06
test-fixing - SKILL name: test-fixingdescription: “Systematically identify and fix all failing tests using smart grouping strategies. Use when explicitly asks to fix tests (“fix these tests”, “make tests pass”), reports test failures (“tests are failing”, “test suite is broken”), or completes implementation and wants tests passing.”risk: safesource: communitydate_added: “2026-02-27”Test Fixing测试修复使用智能分组策略系统地识别和修复所有失败的测试。何时使用明确要求修复测试“修复这些测试”、“让测试通过”报告测试失败“测试失败了”、“测试套件坏了”完成实现并希望测试通过提到由测试导致的 CI/CD 失败系统化方法1. 初始测试运行运行make test以识别所有失败的测试。分析输出失败的总数错误类型和模式受影响的模块/文件2. 智能错误分组按以下方式对相似失败进行分组错误类型ImportError、AttributeError、AssertionError 等。模块/文件同一文件导致多个测试失败根本原因缺少依赖、API 更改、重构影响按以下方式对组进行优先级排序受影响测试的数量影响最大的优先依赖顺序先修复基础设施再修复功能3. 系统化修复流程对每个组从影响最大的开始识别根本原因阅读相关代码用git diff检查最近的更改理解错误模式实施修复使用编辑工具进行代码更改遵循项目约定参见 CLAUDE.md做最小、聚焦的更改验证修复运行此组的测试子集使用 pytest 标记或文件模式uv run pytest tests/path/to/test_file.py-vuv run pytest-kpattern-v确保该组通过后再继续移到下一个组4. 修复顺序策略基础设施优先导入错误缺少依赖配置问题然后是 API 更改函数签名更改模块重组重命名的变量/函数最后是逻辑问题断言失败业务逻辑 bug边界情况处理5. 最终验证所有组修复后运行完整测试套件make test验证没有回归检查测试覆盖率保持不变最佳实践一次修复一个组每次修复后运行聚焦的测试使用git diff理解最近的更改在失败中寻找模式在当前组通过之前不要移到下一组保持更改最小且聚焦示例工作流用户“我的重构后测试失败了”运行make test→ 识别出 15 个失败对错误分组8 个 ImportErrors模块重命名5 个 AttributeErrors函数签名更改2 个 AssertionErrors逻辑 bug先修复 ImportErrors → 运行子集 → 验证修复 AttributeErrors → 运行子集 → 验证修复 AssertionErrors → 运行子集 → 验证运行完整套件 → 全部通过 ✓局限性仅当任务明确符合上述范围时使用此技能。不要将输出视为环境特定验证、测试或专家审查的替代品。如果缺少必需的输入、权限、安全边界或成功标准请停下来询问澄清。