性能优化
This commit is contained in:
102
scripts/test/测试报告-环境与用例清单.md
Normal file
102
scripts/test/测试报告-环境与用例清单.md
Normal file
@@ -0,0 +1,102 @@
|
||||
# Soul 创业派对 - 测试报告(环境与用例清单)
|
||||
|
||||
> 测试人员产出。环境就绪后执行 `pytest -v` 并填写结果。
|
||||
|
||||
---
|
||||
|
||||
## 一、测试环境
|
||||
|
||||
| 环境 | API 地址 | 说明 |
|
||||
|------|----------|------|
|
||||
| **local** | http://localhost:8080 | 本地开发,需先启动 soul-api |
|
||||
| **souldev** | https://souldev.quwanzhi.com | 测试服,需已部署 |
|
||||
| **soulapi** | https://soulapi.quwanzhi.com | 正式服,慎用 |
|
||||
|
||||
**配置方式**:
|
||||
- 复制 `scripts/test/.env.test.example` 为 `.env.test`
|
||||
- 设置 `SOUL_TEST_ENV=local|souldev|soulapi` 或 `SOUL_API_BASE=<地址>`
|
||||
|
||||
**运行命令**:
|
||||
```bash
|
||||
cd scripts/test
|
||||
# Windows PowerShell
|
||||
$env:SOUL_TEST_ENV="local" # 或 souldev
|
||||
pytest -v
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 二、用例清单(共 18 个)
|
||||
|
||||
### 2.1 小程序接口(miniapp/)
|
||||
|
||||
| 用例 | 验证点 | 前置条件 |
|
||||
|------|--------|----------|
|
||||
| **test_config_public** | GET /api/miniprogram/config 返回 200,含 prices、features、mpConfig | 无 |
|
||||
| **test_dev_login_as** | POST /api/miniprogram/dev/login-as 按 userId 登录成功 | SOUL_MINIPROGRAM_DEV_USER_ID 已配置;APP_ENV=development |
|
||||
|
||||
### 2.2 管理端接口(web/)
|
||||
|
||||
| 用例 | 验证点 | 前置条件 |
|
||||
|------|--------|----------|
|
||||
| **test_admin_login** | POST /api/admin 登录成功,返回 token、user | 无 |
|
||||
| **test_admin_check_with_token** | GET /api/admin 带 token 鉴权通过 | admin 登录成功 |
|
||||
| **test_admin_check_without_token** | GET /api/admin 无 token 返回 401 | 无 |
|
||||
| **test_upload_post_success** | POST /api/upload 上传图片成功,返回 url、data | 无 |
|
||||
| **test_upload_post_with_admin_token** | POST /api/upload 带 token 可上传 | admin 登录 |
|
||||
| **test_upload_post_no_file** | POST /api/upload 无 file 返回 400 | 无 |
|
||||
| **test_upload_post_invalid_type** | POST /api/upload 非图片格式返回 400 | 无 |
|
||||
| **test_upload_delete_local** | DELETE /api/upload 删除本地文件(先上传再删) | 无 |
|
||||
| **test_upload_delete_no_path** | DELETE /api/upload 无 path 返回 400 | 无 |
|
||||
|
||||
### 2.3 流程测试(process/)
|
||||
|
||||
| 用例 | 验证点 | 前置条件 |
|
||||
|------|--------|----------|
|
||||
| **test_health** | GET /health 返回 200 | soul-api 已启动 |
|
||||
| **test_person_ensure_creates_ckb_plan_when_not_exists** | @某人 不存在时 POST /api/db/persons 创建 Person + 存客宝计划 | admin 登录;CKB 配置正确 |
|
||||
| **test_person_ensure_returns_existing_when_name_exists** | 相同 name 返回已有 Person,不重复创建 | 同上 |
|
||||
| **test_person_ensure_rejects_empty_name** | 空 name 被拒绝 | 同上 |
|
||||
| **test_article_mention_flow_persons_list_contains_new** | 文章保存后 persons 列表含新人物 | 同上 |
|
||||
| **test_new_article_save_auto_creates_person_and_ckb** | 新文章保存自动创建 Person 与存客宝计划 | 同上 |
|
||||
| **test_backfill_persons_ckb_api_key** | 从存客宝补齐 persons.ckb_api_key | admin 登录;CKB 配置;persons 有 ckb_plan_id |
|
||||
|
||||
---
|
||||
|
||||
## 三、源码质量优化相关回归点(手工验证)
|
||||
|
||||
以下为 2026-03-17 源码质量优化后的建议回归项,自动化用例未覆盖:
|
||||
|
||||
| 场景 | 验证点 |
|
||||
|------|--------|
|
||||
| **支付流程** | read 页购买章节/全书 → 微信支付 → 回调更新购买状态 |
|
||||
| **管理端用户详情** | 用户列表点击详情 → 行为轨迹 Tab 展示(调用 /api/admin/user/track) |
|
||||
| **我的页** | 找伙伴、推广、搜索入口根据 featureConfig 显示/隐藏 |
|
||||
| **首页/目录** | 搜索栏根据 searchEnabled 显示/隐藏 |
|
||||
| **提现测试接口** | GIN_MODE=release 时 GET/POST /api/admin/withdraw-test 返回 404 |
|
||||
|
||||
---
|
||||
|
||||
## 四、测试结果记录
|
||||
|
||||
| 执行日期 | 环境 | 通过 | 失败 | 跳过 | 备注 |
|
||||
|----------|------|------|------|------|------|
|
||||
| 2026-03-17 | local | 16 | 0 | 2 | 含新增文件上传 6 用例;2 跳过(dev_login、backfill 需配置) |
|
||||
| (待填写) | local / souldev | - | - | - | - |
|
||||
|
||||
### 失败用例详情(若有)
|
||||
|
||||
| 用例 | 错误信息 | 处理 |
|
||||
|------|----------|------|
|
||||
| - | - | - |
|
||||
|
||||
---
|
||||
|
||||
## 五、环境就绪检查
|
||||
|
||||
执行测试前请确认:
|
||||
|
||||
- [ ] soul-api 已启动(local 时 `go run cmd/server/main.go` 或 `scripts/本地启动.sh`)
|
||||
- [ ] 测试环境变量已设置(SOUL_TEST_ENV 或 SOUL_API_BASE)
|
||||
- [ ] 管理端账号可登录(默认 admin/admin123)
|
||||
- [ ] 流程测试需 CKB 配置时,soul-api/.env 已配置 CKB_OPEN_API_KEY、CKB_OPEN_ACCOUNT
|
||||
Reference in New Issue
Block a user