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:
2026-03-16 11:40:47 +10:30
parent 63ab37c256
commit 2309e31e74
3 changed files with 17 additions and 9 deletions

View File

@@ -139,5 +139,5 @@ ai-proj task append-doc --id <taskId> --content "# 测试报告
5. **持续集成** - 每次提交运行
6. **Biz 层禁止 Mock** - biz/service 层必须使用真实 PostgreSQL test DB + 真实 storemock 等于没测
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`

View File

@@ -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 验证的场景