SuperAPI AI 工具集

test-first-bugs

测试与质量

查看项目

更新于 10-15 22:40

技能介绍

用途:在用户报告 Bug、代码报错或要求修复时,强制采用测试驱动的方式修 Bug,避免回归并让修复尝试可并行。

主要能力与流程:

  1. 复现与记录:弄清预期与实际行为,定位项目测试位置(tests/、tests/、spec/、.test.、.spec. 等),编写一个能复现该 Bug 的失败测试。
  2. 用子代理修复:通过 Task 工具以 subagent_type=general-purpose 启动修复子代理,运行该测试验证,若仍失败则用新思路再启动子代理。
  3. 验证与完成:运行完整测试套件确认无回归,以测试通过作为修复成功的证据。

测试写法:测试名应描述 Bug,如 test_user_login_fails_when_email_has_uppercase、it('should not crash when input array is empty');结构遵循 Arrange-Act-Assert,断言期望的正确行为,初始应失败。

定位测试基础设施可用命令:find . -name ".test." -o -name ".spec." -o -name "test_*.py" | head -20;ls -la tests/ tests/ spec/ test/ 2>/dev/null;grep -A5 '"test"' package.json。

无测试框架时:先搭建最小测试框架,在合理位置创建测试文件并记录配置。快速搭建命令:Python 用 pip install pytest 与 mkdir -p tests && touch tests/init.py;JS/TS 用 npm install --save-dev jest 或 npm install --save-dev vitest;Go 测试内置,创建 *_test.go 文件。

验证命令示例:pytest tests/test_module.py::test_bug_description -v;npm test -- --grep "bug description";go test -run TestBugDescription -v;全量回归用 pytest、npm test、go test ./...。

并行修复策略:可分别启动直接修复、根因排查、边界情况三类子代理。

限制与说明:该技能依赖 Claude 的 Task 子代理与插件钩子;bug-report-detector 钩子会检测 Bug 报告、提醒遵循该流程,并在测试文件创建或修改前阻止 Edit/Write 工具。具体收费、平台支持等信息暂未提供。