Files
one-api-workers/docs/testing.md
T

78 lines
1.6 KiB
Markdown

# 测试与验证
本文档汇总仓库当前可用的基础验证方式与本地 E2E 测试脚本。
## 最小验证
日常改动后,至少执行以下检查:
```bash
bun run build
cd frontend && bun run lint
```
说明:
- `bun run build`:构建前端产物到 `public/`
- `cd frontend && bun run lint`:执行前端 ESLint 检查
## 本地 E2E
仓库内置了一套基于 mock upstream 的本地端到端验证脚本:
- `tests/mock-upstream.ts`:启动本地模拟上游服务
- `tests/setup-test-data.sh`:向本地 D1 写入测试渠道和 Token
- `tests/run-e2e.sh`:验证代理链路、模型列表、认证失败、请求头清洗等行为
### 覆盖范围
当前 E2E 主要覆盖:
- `/v1/models`
- `/v1/chat/completions`
- `/v1/messages`
- `/v1/responses`
- 上游请求头白名单与敏感头剥离
- 管理员登录相关限速与系统配置场景
### 前置条件
执行前请确保以下服务可用:
- 本地 Worker 已启动
- 本地 mock upstream 已启动在 `:9999`
- `.dev.vars` 或当前 shell 中已提供必要环境变量
- 本地 D1 可通过 `wrangler.local.jsonc` 正常访问
### 推荐执行顺序
1. 启动 mock upstream
```bash
bun run tests/mock-upstream.ts
```
2. 启动本地 Worker
```bash
bun run dev:worker
```
3. 写入测试数据
```bash
bash tests/setup-test-data.sh
```
4. 运行 E2E
```bash
bash tests/run-e2e.sh
```
## 注意事项
- 测试脚本默认依赖本地端口和 `wrangler.local.jsonc`
- `tests/setup-test-data.sh` 会写入并清理部分本地测试数据,不要直接对生产库执行
- 如果只改了文档或纯前端静态内容,通常不需要跑完整 E2E