Files
ds2api/tests/README.md

2.5 KiB
Raw Permalink Blame History

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 模式
  • 增加测试超时时间