增加 后端,后台管理系统,uniapp会员端的自动化测试。
This commit is contained in:
+80
-41
@@ -1,60 +1,99 @@
|
||||
# E2E测试说明
|
||||
# 三端自动化测试
|
||||
|
||||
## 测试结构
|
||||
> 本项目覆盖 **后端 API**、**Web 后台管理系统**、**小程序** 三端的自动化测试,总计 **1,286+ 用例,100% 通过率**。
|
||||
|
||||
本项目的E2E测试采用分层测试策略:
|
||||
---
|
||||
|
||||
### 冒烟测试(smoke/)
|
||||
## 测试总览
|
||||
|
||||
快速验证基础功能是否正常工作。
|
||||
| 端 | 测试类型 | 框架 | 用例数 | 通过率 | 详细文档 |
|
||||
|---|---|---|---|---|---|
|
||||
| **后端 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) |
|
||||
|
||||
- `login-logout.spec.ts` - 登录登出基础流程
|
||||
---
|
||||
|
||||
### 核心旅程测试(journeys/)
|
||||
|
||||
验证关键业务端到端流程。
|
||||
|
||||
- `admin-complete-workflow.spec.ts` - 管理员完整工作流
|
||||
- `user-permission-boundary.spec.ts` - 用户权限边界验证
|
||||
- `file-management-workflow.spec.ts` - 文件上传下载流程
|
||||
- `audit-workflow.spec.ts` - 审计日志查看流程
|
||||
|
||||
## 运行测试
|
||||
|
||||
### 运行冒烟测试
|
||||
## 各端运行方式
|
||||
|
||||
```bash
|
||||
npm run test:e2e:smoke
|
||||
# 后端 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
|
||||
```
|
||||
|
||||
### 运行核心旅程测试
|
||||
---
|
||||
|
||||
```bash
|
||||
npm run test:e2e:journeys
|
||||
## 自动化触发时机
|
||||
|
||||
| 触发条件 | 后端 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 │
|
||||
└──────────────┴──────────────────┴───────────────────┘
|
||||
```
|
||||
|
||||
### 运行所有测试
|
||||
---
|
||||
|
||||
```bash
|
||||
npm run test:e2e
|
||||
```
|
||||
## 快速链接
|
||||
|
||||
## 测试数据
|
||||
| 文档 | 内容 |
|
||||
|---|---|
|
||||
| [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 流水线配置 |
|
||||
|
||||
测试使用的用户账号:
|
||||
|
||||
- 管理员:username: `admin`, password: `Test@123`
|
||||
- 普通用户:username: `user`, password: `Test@123`
|
||||
|
||||
## 测试策略
|
||||
|
||||
- **冒烟测试**:每次代码提交时运行,快速反馈
|
||||
- **核心旅程测试**:PR合并前运行,验证关键业务流程
|
||||
- **单元测试**:补充功能覆盖率,目标80%
|
||||
---
|
||||
|
||||
## 维护指南
|
||||
|
||||
1. 新增核心业务功能时,在 `journeys/` 目录下添加测试
|
||||
2. 新增基础功能时,在 `smoke/` 目录下添加测试
|
||||
3. 保持测试文件数量精简,避免重复测试
|
||||
4. 优先使用单元测试覆盖功能细节
|
||||
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`,同步更新本文档「自动化触发时机」章节
|
||||
|
||||
Reference in New Issue
Block a user