# 后端测试核心规则（机器可读）

## 1. 适用范围
- 后端单元测试 + 集成测试（非 E2E）。
- 依据：后端代码 + API 文档 + 用户场景文档。

## 2. 分层规则（必须）
- 单元测试：隔离外部依赖（DB/HTTP/时间/随机/消息）。
- 集成测试：真实 HTTP + 真实数据库（禁止 mock DB）。
- E2E：不在此技能内执行，转 `test-frontend`（Playwright MCP）。

## 3. 单元测试最小要求（必须）
- 覆盖：成功路径 + 关键失败路径 + 边界。
- 断言：输出字段、状态变化、异常类型/错误码。
- Mock：最小化、可读、可重复。

## 4. 集成测试最小要求（必须）
- 使用 Supertest 发起请求。
- 校验：状态码 + 关键响应字段 + 错误码。
- 覆盖：鉴权、权限、DTO 校验、资源不存在。
- 测试隔离：测试数据库 + 清理策略。

## 5. 文档依赖（必须）
- `docs/modules/<module>/01-prd.md`
- `docs/modules/<module>/07-api.md`
- `docs/modules/<module>/09-test-scenarios.md`

## 6. 目录与命名（必须）
- 单元：`backend/test/modules/<module>/unit/`
- 集成：`backend/test/modules/<module>/integration/`
- 命名：`should <期望行为> when/given <条件>`

## 7. 验证命令（必须）
```bash
cd backend
npm run test:unit
npm run test:integration
```
