# Unit Testing Standards

> 阿里巴巴Java开发手册 — 单元测试规约审查与指导。当用户涉及以下任何场景时触发： - 编写单元测试、设计测试用例 - 测试覆盖率要求（语句覆盖、分支覆盖） - 测试策略设计（AIR原则、BCDE原则） - 数据库相关测试（数据准备、自动回滚） - Mock使用、依赖注入设计 - 不可测代码重构 - 用户提到"单元测试"、"test"、"coverage"、"Junit"等关键词 此技能适用于所有编程语言，单元测试原则是通用的。

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

---


# 单元测试规约技能

## 作用

本技能基于《阿里巴巴Java开发手册》的单元测试章节，为开发者提供单元测试规范指导。

涵盖以下领域：

| 规约领域 | 说明 |
|---------|------|
| AIR原则 | 自动化、独立性、可重复性 |
| BCDE原则 | 边界、正确、设计、错误 |
| 测试粒度 | 方法级别、类级别 |
| 覆盖率 | 语句覆盖70%、核心模块100% |
| 数据库测试 | 数据准备、自动回滚 |
| 可测试性 | 重构不可测代码 |

## 使用方法

1. **测试代码审查** — 输入：测试类或被测类代码；执行：读取 `references/testing-rules.md` 后逐条检查 AIR 原则、覆盖率、边界条件；输出：按【强制】【推荐】【参考】分级的问题清单 + 正例参考
2. **测试策略指导** — 输入：待测试的业务场景或功能描述；执行：引用 AIR 原则和 BCDE 原则；输出：测试用例设计方案 + 优先级建议
3. **测试重构建议** — 输入：不可测的生产代码或测试代码；执行：分析可测试性瓶颈并引用规约；输出：重构方案 + 测试示例

## 测试审查检查点

执行单元测试规约审查时，以下场景需先向用户确认，再执行后续操作：

| 场景 | 检查内容 |
|------|---------|
| 建议删除或重写测试代码 | 任何测试代码的删除/重写建议输出前，确认用户是否采纳并提醒备份 |
| 建议重构被测代码 | 为提升可测试性而修改生产代码前，确认用户接受范围并评估风险 |
| 用户未提供测试代码 | 提示用户粘贴测试类或被测类代码，说明本技能涵盖的审查范围 |
| 覆盖率不达标 | 提示当前覆盖率与目标差距，确认用户优先级（先补核心模块还是全面补齐） |

## 边界条件处理

| 场景 | 处理方式 |
|------|---------|
| 用户未提供测试代码 | 提示用户粘贴测试类或被测类代码，说明可审查的维度（AIR原则、覆盖率、可测试性等） |
| 被测代码不可控（第三方库） | 建议通过适配器或防腐层封装，聚焦接口行为测试而非内部实现 |
| 测试框架非 JUnit | 测试原则通用适用，但具体断言语法和注解需按用户实际框架调整 |
| 遗留系统无测试 | 建议优先为核心业务路径补测试，不推荐一次性全面补全导致维护成本过高 |
| references 文件缺失 | 基于通用单元测试原则给出建议，提示检查 references 目录完整性 |

## 规约文件索引

```
references/
└── testing-rules.md    # 单元测试规约全文
```

## 规约等级说明

原文中的规约分为三个等级：
- **【强制】**：必须遵守
- **【推荐】**：建议遵守
- **【参考】**：供参考

## 审查输出格式

1. **【强制】违规项**
2. **【推荐】改进项**
3. **【参考】优化建议**
4. **正例参考**

