mirror of
https://github.com/CJackHwang/ds2api.git
synced 2026-05-04 00:15:28 +08:00
DS2API 测试文档
测试文件结构
tests/
├── __init__.py # 测试模块初始化
├── test_unit.py # 单元测试(不依赖网络)
├── test_all.py # API 集成测试
├── test_accounts.py # 账号池测试
└── run_tests.sh # 测试运行脚本
快速开始
运行所有测试
# 使用脚本
./tests/run_tests.sh all
# 或直接运行
python3 tests/test_unit.py # 单元测试
python3 tests/test_all.py # API 测试
运行单元测试
python3 tests/test_unit.py
测试内容:
- 配置加载
- 消息处理(
messages_prepare) - WASM 缓存
- 模型配置获取
- 正则表达式模式
- 流式响应解析
- 工具调用解析(
parse_tool_calls) - Token 估算
运行 API 集成测试
# 完整测试
python3 tests/test_all.py
# 快速测试(跳过耗时测试)
python3 tests/test_all.py --quick
# 指定端点
python3 tests/test_all.py --endpoint http://your-server.com
# 详细输出
python3 tests/test_all.py --verbose
测试覆盖:
| 类别 | 测试项 |
|---|---|
| 基础 | 服务健康检查 |
| OpenAI | 模型列表、非流式对话、流式对话、无效模型处理、认证错误、Reasoner 模式 |
| Claude | 模型列表、非流式消息、流式消息、Token 计数 |
| 高级 | 多轮对话、长输入处理 |
| 工具调用 | OpenAI 工具调用(流式/非流式)、Claude 工具调用 |
| 搜索模式 | OpenAI 搜索模式 |
运行账号测试
# 测试所有账号登录
python3 tests/test_accounts.py --login
# 测试账号轮换
python3 tests/test_accounts.py --rotation
# 运行所有
python3 tests/test_accounts.py --all
配置
测试使用 config.json 中的配置:
{
"keys": ["test-api-key-001"],
"accounts": [
{"email": "xxx@gmail.com", "password": "xxx", "token": ""}
]
}
预期输出
单元测试
Ran 32 tests in 9.0s
OK
API 测试
📊 测试报告
总计: 18 个测试
✅ 通过: 18
❌ 失败: 0
⏱️ 耗时: ~60s
📈 通过率: 100.0%
故障排除
服务未运行
⚠️ 服务未运行,跳过其他测试
解决:先启动服务 python dev.py
认证失败
❌ 失败: 状态码: 401
解决:检查 config.json 中的 API key 和账号配置
流式测试超时
可能是 DeepSeek API 响应慢,可以尝试:
- 使用
--quick模式 - 增加测试超时时间