Files
team/docs/测试-接口.md
2026-04-19 21:47:08 +08:00

93 lines
2.3 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 接口测试规范
**文档版本**: 1.0.0
**最后更新**: 2026-04-19
---
## 1. 概述
本文档定义项目所有 API 接口的测试规范。测试按接口分组组织,与 [09-API契约.md](./09-API契约.md) 章节结构一致。
### 1.1 测试目标
| 目标 | 说明 |
|------|------|
| **契约一致性** | 验证所有接口的请求/响应格式与 API 契约完全一致 |
| **状态码正确性** | 验证每个接口在各种场景下返回正确的 HTTP 状态码 |
| **错误码准确性** | 验证错误响应中的 code 和 message 符合错误码规范 |
| **安全性** | 验证认证机制、权限控制和注入防护 |
| **边界条件** | 验证空值、超长输入、特殊字符等边界场景 |
| **性能基准** | 验证接口响应时间满足非功能性需求 |
### 1.2 测试工具
| 工具 | 用途 | 适用范围 |
|------|------|----------|
| **pytest** | 测试框架 | 全部 |
| **httpx** | HTTP 客户端 | 全部 |
| **faker** | 测试数据生成 | 全部 |
### 1.3 HTTP 状态码速查
| 状态码 | 场景 |
|--------|------|
| 200 | 成功 |
| 201 | 创建成功 |
| 204 | 删除成功(无响应体) |
| 400 | 请求参数错误 |
| 401 | 未认证 |
| 403 | 权限不足 |
| 404 | 资源不存在 |
| 409 | 冲突 |
| 500 | 服务端内部错误 |
---
## 2. 通用响应格式验证
### 2.1 成功响应结构
**验证点**
- 响应体必须包含 `data``meta` 两个顶层字段
- `meta` 必须包含 `request_id`
### 2.2 错误响应结构
**验证点**
- 响应体必须包含 `error``meta` 两个顶层字段
- `error` 必须包含 `code``message`
### 2.3 分页响应结构
**验证点**
- `meta` 必须包含 `total``page``per_page`
- `data` 为数组类型
---
## 3. 接口测试文档索引
<!-- 按接口分组拆分为独立文件后在此列出索引 -->
| 文件 | 内容 | 章节来源 |
|------|------|----------|
| [测试-接口-分类.md](./测试-接口-分类.md) | 分类接口测试用例模板 | §3+ |
---
## 4. 测试文件组织结构
```
apps/<!-- 模块 -->/
└── tests/
└── api/
├── conftest.py # API 公共 fixtures
└── <!-- test_*.py --> # 接口测试文件
```
---
**版本历史**:
- v1.0.0 (2026-04-19): 初始化模板