4.5 KiB
4.5 KiB
三端自动化测试
本项目覆盖 后端 API、Web 后台管理系统、小程序 三端的自动化测试,总计 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 流水线配置 |
维护指南
- 新增后端接口 → 在对应模块
src/test/下添加 JUnit 测试,更新 backend-api-test.md - 新增 Web 页面 → 添加 Vitest 组件测试 + Page Object + E2E 旅程,更新 web-admin-test.md
- 新增小程序功能 → 添加 E2E 用例或 Page Object,更新 miniapp-test.md
- 修改 CI 触发规则 → 编辑
Jenkinsfile,同步更新本文档「自动化触发时机」章节