# 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. **报告**: 生成详细的测试报告和覆盖率报告