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

100 lines
4.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 三端自动化测试
> 本项目覆盖 **后端 API**、**Web 后台管理系统**、**小程序** 三端的自动化测试,总计 **1,286+ 用例,100% 通过率**。
---
## 测试总览
| 端 | 测试类型 | 框架 | 用例数 | 通过率 | 详细文档 |
|---|---|---|---|---|---|
| **后端 API** | 单元 + 集成 | JUnit 5 + Mockito | 1,094 | 100% | [backend-api-test.md](docs/backend-api-test.md) |
| **Web 后台** | 单元(组件) | Vitest + jsdom | 171 | 100% | [web-admin-test.md](docs/web-admin-test.md) |
| **Web 后台** | E2E(端到端) | Playwright | 24+ | 100% | [web-admin-test.md](docs/web-admin-test.md) |
| **小程序** | E2E(端到端) | Jest + miniprogram-automator | 7 | 100% | [miniapp-test.md](docs/miniapp-test.md) |
---
## 各端运行方式
```bash
# 后端 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](docs/backend-api-test.md) | 后端 15 模块详细测试清单、API 路由覆盖、状态机测试矩阵 |
| [web-admin-test.md](docs/web-admin-test.md) | Vitest 24 文件详情 + Playwright 4 项目详情 + 17 个 Page Object |
| [miniapp-test.md](docs/miniapp-test.md) | 3 套件详情、预约+签到流程、Mock 策略、环境配置 |
| [../docs/test-report-2026-07-21.md](../docs/test-report-2026-07-21.md) | 全量测试报告(含测试路线图) |
| [../Jenkinsfile](../Jenkinsfile) | CI/CD 流水线配置 |
---
## 维护指南
1. **新增后端接口** → 在对应模块 `src/test/` 下添加 JUnit 测试,更新 [backend-api-test.md](docs/backend-api-test.md)
2. **新增 Web 页面** → 添加 Vitest 组件测试 + Page Object + E2E 旅程,更新 [web-admin-test.md](docs/web-admin-test.md)
3. **新增小程序功能** → 添加 E2E 用例或 Page Object,更新 [miniapp-test.md](docs/miniapp-test.md)
4. **修改 CI 触发规则** → 编辑 `Jenkinsfile`,同步更新本文档「自动化触发时机」章节