# Unit Testing

> 为 BK-CI 代码编写单元测试时使用，例如 JUnit5、MockK、测试组织、依赖 Mock、异常校验和 TDD 场景。当用户要补测试或用测试驱动实现时优先使用。

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

---


# 单元测试

## 适用场景

- 编写 Service / DAO / 工具类单元测试
- Mock 外部依赖和边界条件
- 验证正常路径、异常路径和回归场景
- 采用 TDD 或补测试防回归

## 不适用场景

- 集成测试、端到端测试
- 只是实现业务逻辑，不准备补测试
- 只是排查运行环境问题

## 快速指导

1. 这个 skill 关注的是 BK-CI 项目里的单元测试写法，不是测试理论总览。
2. 测试先保证意图清晰，再考虑覆盖率；重点是关键分支和回归风险。
3. 常见模式仍然是 AAA、Mock 外部依赖、显式断言结果和交互。
4. 写测试前先确认你测的是业务规则，不是把实现细节机械复述一遍。
5. 如果测试涉及后端接口或服务结构，再联动看 `backend-microservice-development`。

## 高信号规则

- 正常路径和失败路径都要有代表性覆盖
- Mock 应该服务于隔离边界，而不是掩盖设计问题
- 测试命名要能直接表达行为和预期

## 关键陷阱

- 只测 happy path
- Mock 过度，导致测试几乎失去行为价值
- 断言太弱，只证明代码跑过，没有证明结果正确

## 延伸阅读

- 如果你在改后端服务：再看 `backend-microservice-development`

