Files
gym-manage/e2e-tests/README.md

4.5 KiB
Raw Permalink Blame History

三端自动化测试

本项目覆盖 后端 APIWeb 后台管理系统小程序 三端的自动化测试,总计 1,286+ 用例,100% 通过率


测试总览

测试类型 框架 用例数 通过率 详细文档
后端 API 单元 + 集成 JUnit 5 + Mockito 1,094 100% backend-api-test.md
Web 后台 单元(组件) Vitest + jsdom 171 100% web-admin-test.md
Web 后台 E2E(端到端) Playwright 24+ 100% web-admin-test.md
小程序 E2E(端到端) Jest + miniprogram-automator 7 100% miniapp-test.md

各端运行方式

# 后端 API
cd gym-manage-api && mvn test

# Web 后台 — 单元测试
cd gym-manage-web && npm run test

# Web 后台 — E2E 测试
cd gym-manage-web && npm run test:e2e

# 小程序 — E2E 测试
cd gym-manage-uniapp && npx jest --config e2e/jest.config.js

自动化触发时机

触发条件 后端 API Web 单元 Web E2E 小程序 E2E
Push 到功能分支 自动 自动
PR 提交到 main/master 自动 自动 自动 自动
合并到 main/master 自动 自动 自动 自动
每日定时(凌晨 2:00 自动 自动 自动
手动触发

触发策略说明

Push 到功能分支(快速反馈,< 5 分钟):

  • 运行后端单元测试 + Web 单元测试
  • E2E 测试不触发(耗时较长,避免阻塞开发)

PR / 合并到 main(完整验证,< 15 分钟):

  • 运行全部三端测试
  • 小程序 E2E 需微信开发者工具环境,无环境时跳过

每日定时(全量回归):

  • 凌晨自动运行全部测试,生成报告
  • 小程序 E2E 除外(需 GUI 环境)

测试分层架构

┌─────────────────────────────────────────────────────┐
│                    三端测试体系                        │
├──────────────┬──────────────────┬───────────────────┤
│   后端 API    │   Web 后台管理    │      小程序        │
├──────────────┼──────────────────┼───────────────────┤
│ JUnit 5      │ Vitest (单元)     │ Jest + automator  │
│ Mockito      │ jsdom (DOM模拟)   │ (E2E)             │
│ Reactor Test │ Playwright (E2E)  │                   │
├──────────────┼──────────────────┼───────────────────┤
│ 105 测试文件  │ 24 单元文件       │ 3 套件             │
│ 15 模块      │ 24+ E2E文件       │ 7 用例             │
│ 1,094 用例   │ 185+ 用例         │ 5 Page Object     │
└──────────────┴──────────────────┴───────────────────┘

快速链接

文档 内容
backend-api-test.md 后端 15 模块详细测试清单、API 路由覆盖、状态机测试矩阵
web-admin-test.md Vitest 24 文件详情 + Playwright 4 项目详情 + 17 个 Page Object
miniapp-test.md 3 套件详情、预约+签到流程、Mock 策略、环境配置
../docs/test-report-2026-07-21.md 全量测试报告(含测试路线图)
../Jenkinsfile CI/CD 流水线配置

维护指南

  1. 新增后端接口 → 在对应模块 src/test/ 下添加 JUnit 测试,更新 backend-api-test.md
  2. 新增 Web 页面 → 添加 Vitest 组件测试 + Page Object + E2E 旅程,更新 web-admin-test.md
  3. 新增小程序功能 → 添加 E2E 用例或 Page Object,更新 miniapp-test.md
  4. 修改 CI 触发规则 → 编辑 Jenkinsfile,同步更新本文档「自动化触发时机」章节