112 lines
2.4 KiB
Markdown
112 lines
2.4 KiB
Markdown
# 智能算法展示平台 - 测试指南
|
||
|
||
本目录包含智能算法展示平台的各种测试,包括单元测试、集成测试和端到端测试。
|
||
|
||
## 测试目录结构
|
||
|
||
```
|
||
tests/
|
||
├── unit_tests/ # 单元测试
|
||
├── integration_tests.py # 集成测试
|
||
├── integration_test_config.py # 集成测试配置
|
||
├── run_tests.py # 测试运行脚本
|
||
└── README.md # 本文件
|
||
```
|
||
|
||
## 运行测试
|
||
|
||
### 1. 使用测试运行脚本
|
||
|
||
```bash
|
||
# 运行所有测试
|
||
python tests/run_tests.py --all
|
||
|
||
# 只运行单元测试
|
||
python tests/run_tests.py --unit
|
||
|
||
# 只运行集成测试
|
||
python tests/run_tests.py --integration
|
||
|
||
# 运行集成测试和端到端测试
|
||
python tests/run_tests.py --integration --e2e
|
||
|
||
# 显示详细输出
|
||
python tests/run_tests.py --all --verbose
|
||
```
|
||
|
||
### 2. 环境变量配置
|
||
|
||
在运行测试之前,建议设置以下环境变量:
|
||
|
||
```bash
|
||
# 测试API密钥
|
||
export TEST_API_KEY="your-test-api-key"
|
||
|
||
# 测试基础URL
|
||
export TEST_BASE_URL="http://localhost:8000"
|
||
|
||
# 测试超时时间(秒)
|
||
export TEST_TIMEOUT=30
|
||
|
||
# 重试次数
|
||
export TEST_RETRY_COUNT=3
|
||
|
||
# OpenAI API密钥(如果需要测试OpenAI集成功能)
|
||
export OPENAI_API_KEY="your-openai-api-key"
|
||
```
|
||
|
||
### 3. 运行特定测试
|
||
|
||
```bash
|
||
# 运行集成测试文件
|
||
python tests/integration_tests.py
|
||
|
||
# 使用unittest模块运行特定测试
|
||
python -m unittest tests.integration_tests.TestAlgorithmManagement -v
|
||
```
|
||
|
||
## 集成测试配置
|
||
|
||
集成测试配置文件 (`integration_test_config.py`) 包含以下配置项:
|
||
|
||
- `base_url`: API基础URL
|
||
- `api_key`: 认证API密钥
|
||
- `test_timeout`: 测试超时时间
|
||
- `retry_count`: 重试次数
|
||
- `test_algorithms`: 预定义的测试算法配置
|
||
|
||
## 测试类型说明
|
||
|
||
### 单元测试
|
||
- 测试单个函数、类或模块的功能
|
||
- 不依赖外部服务
|
||
- 快速执行
|
||
|
||
### 集成测试
|
||
- 测试多个组件之间的交互
|
||
- 验证API端点的功能
|
||
- 需要运行的服务实例
|
||
|
||
### 端到端测试
|
||
- 测试完整的用户场景
|
||
- 验证端到端的工作流程
|
||
- 需要完整的系统环境
|
||
|
||
## CI/CD 集成
|
||
|
||
测试脚本支持CI/CD环境,在CI环境中会自动检测并调整配置。
|
||
|
||
## 故障排除
|
||
|
||
如果测试失败,请检查:
|
||
|
||
1. 服务是否正在运行
|
||
2. API密钥是否正确配置
|
||
3. 数据库连接是否正常
|
||
4. 环境变量是否设置正确
|
||
|
||
## 退出码
|
||
|
||
- `0`: 所有测试通过
|
||
- `1`: 至少一个测试失败
|
||
- `2`: 测试执行过程中出现错误 |