🧪 Build — 构建

v1.0.0

重构测试套件 在重构既有代码前,先通过 6 步顺序构建工作流(测试类 → fixture → 正常...)建立充分的自动化测试套件

0· 8·0 当前·0 累计
by @quochungto (Hung Quoc To)·This
下载技能包 项目主页
License
This
最后更新
2026/4/19
0
安全扫描
VirusTotal
无害
查看报告
OpenClaw
安全
high confidence
该技能的指令、需求与预期行为内部一致:它仅用于指导构建测试,无需外部凭据或安装,仅需对代码库的读写权限及一个测试运行器。
评估建议
该技能逻辑清晰、风险较低:它会读取仓库文件、创建测试文件/夹具并运行项目的测试运行器。在安装或允许自主运行前,请确保代理仅访问您信任的仓库,提交或备份代码库以便回滚测试文件更改,并确认环境中已安装合适的测试运行器。若希望先审查变更,请保持技能为“用户调用”模式,不要启用自主调用(或在合并前先审查生成的测试文件及测试运行输出)。...
详细分析 ▾
用途与能力
名称与描述(重构前先构建测试套件)与 SKILL.md 任务及声明工具(Read、Write、Bash)一致。未请求任何非必要内容(无环境变量、无二进制文件、无安装),即可针对代码库编写并运行测试。
指令范围
SKILL.md 指示 agent 读取目标代码与项目文件,识别语言/测试框架,创建测试文件及 fixtures,并运行项目的 test runner。这些操作与既定目的直接相关,不索取无关的系统机密或远程端点。它假定 agent 可在仓库内执行命令并创建文件,符合本任务要求。
安装机制
无安装规范 / 无代码文件。这是风险最低的设置:除了技能将创建的测试外,不会在工作仓库之外下载或写入任何内容。
凭证需求
该技能未声明必需的环境变量、凭据或配置路径。SKILL.md 通过引用标准项目文件(pyproject.toml、package.json、pom.xml、go.mod)来推断语言/框架,这与目标相符。
持久化与权限
始终为 false,且该 skill 可由用户调用。它不会请求永久提升权限,也不会尝试修改其他 skill 或系统级设置。其运行时行为(读写测试并运行测试运行器)符合其设计目的。
安全有层次,运行前请审查代码。

License

This

请查看许可证条款了解详情。

运行时依赖

无特殊依赖

版本

latestv1.0.02026/4/19

初始版本 – 提供重构前构建自动化测试套件的逐步工作流。 - 引导用户创建测试文件、设置 fixtures,并覆盖正常行为、边界及错误条件。 - 描述“green-suite gate”,确保所有测试通过后再开始重构。 - 包含 bug-fix 变体工作流(失败测试 → 复现 → 修复 → 验证)。 - 列出针对既有代码库的评估与充分性指南。 - 主要面向需要将代码准备为可安全、可逆重构的开发者。

无害

安装命令

点击复制
官方npx clawhub@latest install bookforge-build-refactoring-test-suite
镜像加速npx clawhub@latest install bookforge-build-refactoring-test-suite --registry https://cn.longxiaskill.com

技能文档

何时使用

准备重构——抽方法、搬字段、改条件——且满足以下任一:
  • 代码零测试
  • 现有测试残缺或仅覆盖 happy path
  • 收到 bug 需先锁定再修复并重构
  • 接手他人代码,动手前需安全网

这是 Level-0 基础:Fowler 重构目录中所有手法均假设该套件已就位。无它,盲重构;有它,任何步骤可回滚——测试变红即撤销。

核心模式: 构建秒级自测绿灯套件,覆盖待改代码,无需人工即可回答:“我破坏了吗?”

开始前确认:

  • 对待重构类/模块有读权限
  • 已安装语言测试运行器(pytest、JUnit、RSpec、Vitest、go test 等)
  • 可从 CLI 跑套件

---

上下文与信息收集

必需上下文

  • 目标代码:待重构的类/模块/文件,写测试前通读。
  • 语言与测试框架:从项目文件(pyproject.toml、package.json、pom.xml、go.mod)识别,沿用现有,不引入新框架。
  • 现有测试:先运行已有测试,全绿则扩展而非替换。

可观察上下文

扫描目标代码:
  • 公开接口:所有 public 方法/函数/导出符号是测试目标;私有内部不直接测。
  • 输入输出:各方法的入参与返回值决定断言内容。
  • 错误条件:何种输入应抛异常、返错误码或空结果,驱动异常路径测试。
  • 状态变更:类是否修改共享状态?fixture 须每例初始化和清理。
  • 外部依赖:数据库、文件、网络,需真实测试环境或 test double。
数据来源ClawHub ↗ · 中文优化:龙虾技能库