refactor(backend): 重命名后端项目为 gym-manage-api,修改包名为 cn.novalon.gym.manage
This commit is contained in:
@@ -0,0 +1,127 @@
|
||||
# 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. **报告**: 生成详细的测试报告和覆盖率报告
|
||||
Reference in New Issue
Block a user