# 单元测试代码生成Skill

> 单元测试代码的生成规范(框架匹配、边界覆盖、断言质量)。当需要为业务代码编写单元测试,保证测试有效而非凑数时使用。

- Skill: `sky-cube/skill-50` (Agent Skill)
- Install (CLI): `npx skillmds@latest add sky-cube/skill-50`
- Raw SKILL.md: https://api.skillmd.com/api/skills/sky-cube/skill-50/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: Sky-Cube (https://skillmd.com/u/sky-cube)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/sky-cube/skill-50

---

# 单元测试代码生成Skill

## 适用场景
自动化测试环节,为业务代码生成有效的单元测试。

## 执行步骤
1. 确认被测框架与测试框架匹配(JUnit 5/Jest/pytest/Go testing)。
2. 识别被测单元:public 方法 + 核心私有逻辑的间接覆盖。
3. 设计用例:正常路径 + 边界 + 异常 + 依赖失败(Mock)。
4. 写测试代码:命名表达意图(testMethod_scenario_expectation),Given/When/Then 结构。
5. 运行验证:全部通过才交付,失败必须修到绿。

## 规范要点
- 每条测试必须有断言,禁止空测试/只调不验(为覆盖率凑数是违规)。
- 断言具体值或明确状态,禁止断言「不为空」「不抛异常」了事。
- 外部依赖一律 Mock(DB/HTTP/时钟/随机),测试不依赖真实环境。
- 测试数据就地构造,不读生产数据,不依赖执行顺序。
- 一个测试只验证一个行为,失败信息可定位。
- 覆盖优先级:核心业务 > 边界分支 > 工具方法。

## 输出模板
```
[测试代码文件]
## 运行命令
## 覆盖说明(被测方法 ↔ 用例映射)
```

## 自检清单
- [ ] 全部用例本地跑通
- [ ] 每条测试有有效断言
- [ ] 外部依赖已 Mock
- [ ] 无执行顺序依赖

