feat(tools): 新增全流程端到端冒烟脚本 e2e_smoke_test.py
把验收清单里"能用接口判定"的部分自动化:6 条线 40 项,打真实 HTTP、逐条打印 PASS/FAIL。 不是 pytest 的替代 —— 单测看代码正确性,它看"部署后底座是不是活的"。 覆盖: A 访客 令牌 → 提问 → 收到回答 → 未转人工 B 客户 登录 → 看板/持仓/流水 → 真实下单成交 → 委托详情 → 会话与转人工 C 风控 概览/队列/详情/八类证据/通知/扫描 → 处置闭环(确认→调查→结案) D 投顾 已发布方案 E 运营 场外邮件与邮箱状态 F 管理员 角色/权限/身份/配置发布/模型端点/审计/转人工工单/画像候选 两个实现细节值得留意: - **各端点 data 形状不统一**(角色列表裸数组、持仓在 holdings、成交明细在 transactions、 资金流水在 entries、知识列表不套 data),所以这里用 listed(payload, *keys) 依次尝试, 并在注释里写明"别猜字段名"—— 我自己写联调脚本时连续猜错三次。 - 库里没有"待处理"预警时**自动造一条**再验证处置闭环,否则该环节只能跳过 (实测库里的预警常常都已被处置过,第一次跑就跳过了)。 新增 --read-only:跳过所有写操作,用于生产或不想动数据时。 实测:40/40 通过(含真实下单 201 已成交、风控处置闭环三段全 PASS)。 docs/40 补上"一键冒烟"一节。
This commit is contained in:
@@ -65,6 +65,19 @@ python -m uvicorn app.main:app --host 127.0.0.1 --port 8000
|
||||
python -m app.worker
|
||||
```
|
||||
|
||||
### 一键冒烟(推荐先跑这个)
|
||||
|
||||
前置跑完后,用一条命令确认 6 条线都是活的:
|
||||
|
||||
```powershell
|
||||
python tools/e2e_smoke_test.py # 含写操作(下单、风控处置)
|
||||
python tools/e2e_smoke_test.py --read-only # 只看读链路,不动数据
|
||||
```
|
||||
|
||||
它打真实 HTTP、逐条打印 PASS/FAIL(**40 项**,覆盖访客/客户/风控/投顾/运营/管理员六条线),
|
||||
并在库里没有"待处理"预警时**自动造一条**来验证风控处置闭环。
|
||||
它**不是** pytest 的替代 —— 单测看代码正确性,它看"部署后底座是不是活的"。
|
||||
|
||||
> 模块级变量是 **`app`**,不是 `application`。
|
||||
|
||||
---
|
||||
|
||||
Reference in New Issue
Block a user