文档版本: v1.0
日期: 2026-07-25
状态: ✅ 已提交 (commit 338b3384)
对 CFC E2E 测试体系进行重构,建立基础设施层(DB 重置 + 统一认证 + 工具库),将测试文件按 4 个业务角色(parent/child/teacher/admin)重新组织,为后续 Phase 2 全量迁移奠定基础。
| 文件 | 行数 | 职责 |
|---|---|---|
tests/e2e/seed-data.sql |
160 | 完整种子数据(8 角色 + 家庭 + 文章 + 活动 + 商品 + 系统配置) |
tests/e2e/reset-db.sh |
45 | 一键重置数据库脚本 |
tests/e2e/helpers/auth.js |
343 | 统一认证 helper(8 角色:admin 走 Web 端,其余走 API/UI 回退) |
tests/e2e/helpers/db.js |
64 | Playwright globalSetup 自动重置数据库 |
tests/e2e/helpers/utils.js |
125 | assertApiSuccess、assertApiError、authHeaders 工具函数 |
| 文件 | 行数 | 提供能力 |
|---|---|---|
tests/e2e/helpers/fixtures.js |
160 | createTask、createWish、createAssessmentOrder、getTestData |
| 角色 | 文件数 | 文件 |
|---|---|---|
| parent | 5 | family-management.spec.js (104行, 8场景)、wish-management.spec.js (67行, 3场景)、assessment-order.spec.js (76行, 3场景)、energy-dashboard.spec.js (67行, 2场景)、points.spec.js (76行, 2场景) |
| child | 3 | login.spec.js (21行, 2场景)、daily-checkin.spec.js (36行, 2场景)、mini-games.spec.js (34行, 3场景) |
| teacher | 2 | login.spec.js (105行, 2场景)、family-binding.spec.js (128行, 3场景) |
| admin | 3 | login.spec.js (28行, 2场景)、article/workflow.spec.js (47行, 4场景)、vendor/management.spec.js (47行, 2场景) |
| 文件 | 变更 |
|---|---|
tests/playwright.config.js |
globalSetup 指向 db.js;timeout 60s → 120s;retries 0 → 1;新增 mobile 项目(375×812);screenshot/trace 失败时保留 |
| 角色 | 手机号 | userId | 家庭 |
|---|---|---|---|
| 管理员 | 13800138000 | 1001 | — |
| 家长 | 13701366188 | 1002 | 2001(测试幸福家庭) |
| 孩子1(小明) | 13701366189 | 1003 | 2001 |
| 孩子2(小红) | 13701366190 | 1004 | 2001 |
| 规划师 | 13800000001 | 1005 | → 绑定家庭2001 |
| 营养师 | 13800000010 | 1006 | — |
| 管家 | 13800000020 | 1007 | — |
| 测评师 | 13800000030 | 1008 | — |
| 供应商 | 13800138001 | 1009 | — |
| 类别 | 文件数 | 总行数 |
|---|---|---|
| 新建文件 | 21 | 3,531 |
| 修改文件 | 1 | +16 / -2 |
| 总计 | 22 | 3,533 |
| 检查项 | 状态 |
|---|---|
reset-db.sh + seed-data.sql 可运行 |
✅ |
helpers/auth.js 8 角色均可登录 |
✅ |
helpers/utils.js API 断言工具可用 |
✅ |
helpers/db.js globalSetup 自动运行 |
✅ |
playwright.config.js 更新完成 |
✅ |
roles/parent/ 5 个核心文件 |
✅ |
roles/child/ 3 个文件 |
✅ |
roles/teacher/ 2 个文件 |
✅ |
roles/admin/ 3 个文件 |
✅ |
代码已提交至远程 origin/cfclub |
✅ |
tests/e2e/*.spec.js 顶层 40 文件)未删除,保留向后兼容,后续 Phase 2 逐角色迁移后清理code 字段未严格对应生产环境验证码策略(测试模式使用固定 123456)fixtures.js 依赖真实 API 端点,部分端点可能在生产环境与测试环境间存在差异