78 lines
1.6 KiB
Markdown
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
|