「单元测试脚手架」是开发与测试工程师的高频任务。它的输入通常是模块路径,期望得到的是测试文件。这类有固定流程、又需要一点判断力的工作,很适合封装成智能体 Skill。

很多人纠结一开始要不要把技能写得很完整。答案是:先极简,再按需升级。下面对比「单元测试脚手架」的两种写法。

极简版:五行就够

你负责单元测试脚手架。
输入:模块路径。
步骤:识别测试框架与目录约定;列出公共函数;为每个函数写正常、边界、异常用例;运行并修正。
输出:测试文件。
信息不足先提问,不要编造。

适合个人临时使用、验证流程是否合理。缺点是输出格式不够稳定,边界情况处理不一致。

进阶版:完整技能包

.claude/skills/unit-test-scaffold/
├── SKILL.md
├── scripts/unit_test_scaffold.py
└── reference.md      # 可选:团队规范、模板等长资料,按需加载

进阶版在极简版基础上增加:

  • 精确的 description,确保自动触发
  • 固定的输出结构与“需人工确认”清单
  • 约束段落(权限、领域规矩、不可逆操作)
  • 参考资料(团队规范、范例),按需加载
  • 脚本,负责确定性的解析与校验
  • tests/ 测试样例

对比

维度极简版进阶版
编写时间几分钟一到两小时
输出稳定性一般较好
边界处理依赖模型自觉有明确规则
团队共享不方便可评审、可版本化
适用个人试用日常高频、多人使用

什么时候该升级

  • 每周使用超过几次
  • 输出要给别人看或进入正式流程
  • 已经发现两次以上同类错误
  • 风险较低,但输出仍需快速过目再使用

升级时参考SKILL.md 写法,并用测试用例验证。

交付物结构示例

建议把测试文件固定成下面的结构(示意),方便复核与归档:

## 结论
一句话说明最重要的发现或结果

## 主要内容
- 识别测试框架与目录约定:……
- 列出公共函数:……
- 为每个函数写正常、边界、异常用例:……
- 运行并修正:……

## 依据
- 引用输入中的具体位置或数据

## 需人工确认
- ……(没有则写“无”)

结构固定之后,复核的人只要先看“结论”和“需人工确认”两部分,就能快速判断结果能否使用。

平台选择建议

同一个「单元测试脚手架」技能可以落在不同平台上,选择时主要看你在哪里工作、要不要执行代码、要不要接外部系统:

这个技能需要运行本地脚本(解析文件、调用命令行工具等),要求运行环境允许执行代码,可据此排除不支持相应能力的平台。

智能体与人的分工

技能不是把工作全部交出去,而是把重复、机械的部分交给智能体,人把住判断和责任:

步骤智能体负责人负责
识别测试框架与目录约定按指令完成并给出依据抽查关键处,确认无误
列出公共函数按指令完成并给出依据抽查关键处,确认无误
为每个函数写正常、边界、异常用例按指令完成并给出依据抽查关键处,确认无误
运行并修正按指令完成并给出依据抽查关键处,确认无误
最终交付整理测试文件决定是否采用、是否对外

风险较低,但输出仍需快速过目再使用。

延伸阅读

说明:文中的配置、代码与目录结构均为示意,用于说明思路;各平台的入口、字段名与能力会更新,落地前请以对应官方文档为准。示例中的数据与场景为虚构,不代表真实案例。