refactor(skills): 澄清 dev-test 与 req-test-gate 的职责边界
- dev-test: 移除 "Gate 4" 编号,改用 "E2E 冒烟门禁"(避免与 req-test-gate 的 Gate 编号冲突) - dev-test: 添加与 req-test-gate 的关系说明(本文档定义执行技术,门禁流程在 req-test-gate) - req-test-gate: 2C 联调节新增无后端替代方案提示,引用 dev-test 的 API Mock 模式 - req-test-gate: Gate 5 前端回归贡献引用 dev-test 的 e2e-testing.md Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -139,5 +139,5 @@ ai-proj task append-doc --id <taskId> --content "# 测试报告
|
||||
5. **持续集成** - 每次提交运行
|
||||
6. **Biz 层禁止 Mock** - biz/service 层必须使用真实 PostgreSQL test DB + 真实 store,mock 等于没测
|
||||
7. **Mock 仅限 Handler 层** - handler 层可以 mock biz 接口 + httptest
|
||||
8. **Gate 4 必须用 API Mock E2E** - E2E 门禁不能依赖后端,否则形同虚设。用 `page.route()` 拦截 API,见 `e2e-testing.md`
|
||||
8. **E2E 冒烟测试必须用 API Mock** - E2E 门禁不能依赖后端,否则形同虚设。用 `page.route()` 拦截 API,见 `e2e-testing.md`。质量门禁流程(Gates 1-5)定义在 `req-test-gate` 技能中
|
||||
9. **李宁测试用例** - Excel 导出见 `coolbuy-legacy` 技能的 `test-cases-excel.md`
|
||||
|
||||
@@ -4,10 +4,12 @@
|
||||
|
||||
| 模式 | 后端依赖 | 速度 | 适用场景 | 门禁阶段 |
|
||||
|------|---------|------|---------|---------|
|
||||
| **API Mock 冒烟测试** | ❌ 无需后端 | 快(<30s) | UI 布局、路由、菜单、权限隔离 | Gate 4 自动化门禁 |
|
||||
| **API Mock 冒烟测试** | ❌ 无需后端 | 快(<30s) | UI 布局、路由、菜单、权限隔离 | E2E 冒烟门禁 |
|
||||
| **全链路集成测试** | ✅ 需完整后端+DB | 慢(分钟级) | CRUD 业务流程、数据持久化 | 手动/CI |
|
||||
|
||||
**⚠️ 关键原则:Gate 4 E2E 门禁必须使用 API Mock 模式,不依赖后端。** 依赖后端的 E2E 在开发机上经常跑不通(后端没启动、DB 未初始化),导致门禁形同虚设。
|
||||
**⚠️ 关键原则:E2E 冒烟门禁必须使用 API Mock 模式,不依赖后端。** 依赖后端的 E2E 在开发机上经常跑不通(后端没启动、DB 未初始化),导致门禁形同虚设。
|
||||
|
||||
> **与 req-test-gate 的关系**:本文档定义 E2E 测试的**执行技术**(怎么写 mock、怎么跑)。质量门禁流程(Gates 0-5、scope 分级、文档持久化)定义在 `req-test-gate` 技能中。
|
||||
|
||||
---
|
||||
|
||||
@@ -212,13 +214,18 @@ test.describe('路由重定向', () => {
|
||||
| **chromium 未安装** | `Executable doesn't exist` | `npx playwright install chromium` |
|
||||
| **前端 proxy** | API 请求未被 route 拦截 | `page.route()` 在浏览器层拦截,不受 webpack proxy 影响 |
|
||||
|
||||
### 5. Gate 4 集成(dev-test 5-Gate 流程)
|
||||
### 5. 与 req-test-gate 门禁集成
|
||||
|
||||
本节的 API Mock 冒烟测试对应 `req-test-gate` 中以下阶段:
|
||||
- **Gate 2 → 2A (T4b)**: 前端构建验证(`vite build` / `craco build`)
|
||||
- **Gate 2 → 2C (IT6)**: 页面可访问性验证(API Mock 代替真实后端)
|
||||
- **Gate 5**: 回归贡献中的 E2E 场景描述
|
||||
|
||||
```bash
|
||||
# package.json 新增命令
|
||||
"test:e2e:smoke-mock": "playwright test --config=playwright.smoke.config.ts"
|
||||
|
||||
# Gate 4 执行流程:
|
||||
# 执行流程:
|
||||
# 1. 确认 chromium 已安装
|
||||
npx playwright install chromium
|
||||
|
||||
@@ -228,10 +235,10 @@ npm run test:e2e:smoke-mock
|
||||
# 3. 解析 e2e-smoke-results.json 判定通过/失败
|
||||
```
|
||||
|
||||
**Gate 4 判定标准**:
|
||||
- ✅ 全部通过 → Gate 4 Pass
|
||||
**判定标准**:
|
||||
- ✅ 全部通过 → Pass
|
||||
- ⚠️ 部分失败但非核心路径 → 记录失败项,人工判定
|
||||
- ❌ 核心路径失败(登录、主导航、角色隔离)→ Gate 4 Fail,阻断发布
|
||||
- ❌ 核心路径失败(登录、主导航、角色隔离)→ Fail,阻断发布
|
||||
|
||||
### 6. 适合 Mock E2E 验证的场景
|
||||
|
||||
|
||||
Reference in New Issue
Block a user