2026-07-25-e2e-test-execution-summary.md 4.0 KB

E2E 测试体系重构 — Phase 1 执行总览

文档版本: v1.0 日期: 2026-07-25 状态: ✅ 已提交 (commit 338b3384)


概述

对 CFC E2E 测试体系进行重构,建立基础设施层(DB 重置 + 统一认证 + 工具库),将测试文件按 4 个业务角色(parent/child/teacher/admin)重新组织,为后续 Phase 2 全量迁移奠定基础。


交付清单

基础设施(5 文件)

文件 行数 职责
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 assertApiSuccessassertApiErrorauthHeaders 工具函数

测试数据工厂(1 文件)

文件 行数 提供能力
tests/e2e/helpers/fixtures.js 160 createTaskcreateWishcreateAssessmentOrdergetTestData

角色测试(11 文件,4 角色)

角色 文件数 文件
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

基础数据

  • 1 个完整家庭(2 孩子 + 家长)
  • 1 个规划师绑定关系
  • 2 篇测试文章(草稿 + 已发布)
  • 2 个测试活动(待审核 + 已发布)
  • 2 个测试商品
  • 系统配置(五维维度定义)

代码统计

类别 文件数 总行数
新建文件 21 3,531
修改文件 1 +16 / -2
总计 22 3,533

Phase 1 覆盖检查清单

检查项 状态
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

已知限制

  1. 旧 spec 文件(tests/e2e/*.spec.js 顶层 40 文件)未删除,保留向后兼容,后续 Phase 2 逐角色迁移后清理
  2. 种子数据 account code 字段未严格对应生产环境验证码策略(测试模式使用固定 123456
  3. fixtures.js 依赖真实 API 端点,部分端点可能在生产环境与测试环境间存在差异