Files
张翔 1e3dc11d59 refactor(test): 重构测试套件结构并优化测试配置
feat(test-suite): 新增测试套件模块,包含API测试客户端和测试配置
fix(api): 修复数据库实体和仓库的删除操作返回值
style(api): 统一数据库表名和字段命名
perf(api): 添加缓存注解提升配置查询性能
test(api): 添加H2测试数据库配置支持
chore: 清理旧的测试文件和脚本
2026-04-01 20:57:24 +08:00

128 lines
2.6 KiB
Markdown

# API Integration Test Suite
企业级后台管理系统 API 集成测试套件
## 项目结构
```
test-suite/
├── api/ # API 测试
│ ├── __init__.py
│ ├── base_api.py # 基础 API 客户端
│ ├── auth_api.py # 认证相关测试
│ ├── config_api.py # 配置管理测试
│ ├── audit_api.py # 审计日志测试
│ └── ...
├── fixtures/ # 测试数据固定装置
├── helpers/ # 辅助工具
├── reports/ # 测试报告输出
├── .env.example # 环境变量示例
└── README.md # 本文件
```
## 技术栈
- Python 3.10+
- pytest 7.0+
- requests 2.28+
- allure-pytest 2.9+
- pytest-cov 4.0+
## 快速开始
### 环境准备
```bash
# 安装依赖
pip install -r requirements.txt
# 复制环境变量示例
cp .env.example .env
# 根据实际情况修改 .env 文件
```
### 运行测试
```bash
# 运行所有测试
pytest tests/ -v
# 运行特定测试文件
pytest tests/api/auth_api.py -v
# 生成覆盖率报告
pytest tests/ --cov=. --cov-report=html --cov-report=term-missing
# 生成 Allure 报告
pytest tests/ --alluredir=allure-results
allure serve allure-results
```
## 测试分类
### 1. 认证测试 (auth_api.py)
- 用户登录/登出
- Token 生成与验证
- 权限验证
- JWT 令牌管理
### 2. 配置管理测试 (config_api.py)
- 系统配置 CRUD
- 字典管理 CRUD
- 配置项验证
### 3. 审计日志测试 (audit_api.py)
- 登录日志查询
- 操作日志查询
- 异常日志查询
- 日志过滤与分页
## 配置说明
### 环境变量 (.env)
```bash
# API 基础 URL
BASE_URL=http://localhost:8084
# 测试用户凭证
ADMIN_USERNAME=admin
ADMIN_PASSWORD=admin123
# 测试数据库配置(可选)
TEST_DB_HOST=localhost
TEST_DB_PORT=5432
TEST_DB_NAME=manage_system_test
TEST_DB_USER=test
TEST_DB_PASSWORD=test
# 测试超时配置
REQUEST_TIMEOUT=30
RETRY_COUNT=3
```
## CI/CD 集成
`.woodpecker.yml` 中添加:
```yaml
test-api:
image: python:3.11
commands:
- pip install -r test-suite/requirements.txt
- cd test-suite
- pytest tests/ -v --cov=. --cov-report=html --alluredir=allure-results
- echo "✅ API 测试完成"
when:
event: [push, pull_request]
```
## 最佳实践
1. **测试隔离**: 每个测试使用独立的数据
2. **清理机制**: 测试后自动清理创建的数据
3. **重试机制**: 网络请求失败自动重试
4. **覆盖率**: 确保 API 覆盖率 > 80%
5. **报告**: 生成详细的测试报告和覆盖率报告