|
|
@@ -0,0 +1,51 @@
|
|
|
+# CFC 测试 skip/fixme 逐项诊断报告(2026-11-01)
|
|
|
+
|
|
|
+> 来源:`tests/` 全量 `test.skip` / `test.fixme` 扫描(接口冒烟测试结果驱动)。共 **27 条命中**(25 条实际可执行用例 + 2 行注释说明)。诊断目的:区分「真缺陷需开发」vs「环境/夹具阻塞不派开发」vs「已过时不开发」,避免无效派发。
|
|
|
+
|
|
|
+## 一、逐条清单(25 条实际用例)
|
|
|
+
|
|
|
+| # | 文件:行 | 类型 | 标记原因 | 分类 |
|
|
|
+|---|---------|------|----------|------|
|
|
|
+| 1 | `tests/e2e/api/energy-api.spec.js:56` | fixme | CFC-EN-001:`/api/energy/grant` 返回 500 服务器内部错误(后端未捕获异常) | **A 真缺陷** |
|
|
|
+| 2 | `tests/e2e/api/energy-api.spec.js:147` | fixme | CFC-EN-001:`/api/energy/grant` 返回 500(DIMENSION='body' 任务完成链路) | **A 真缺陷** |
|
|
|
+| 3 | `tests/e2e/api/family-member-api.spec.js:121` | fixme | CFC-FM-001:`member/update` 更新 nickname 返回成功但未生效 | **B 部署滞后** |
|
|
|
+| 4 | `tests/e2e/article-api.spec.js:48` | skip | 远程暂无已发布文章,跳过详情校验 | **D 环境数据** |
|
|
|
+| 5 | `tests/e2e/api/nonfunc-perf-compat.spec.js:117` | skip | 任务打卡幂等:重复提交不重复计分(需任务流夹具) | **F 夹具+授权** |
|
|
|
+| 6 | `tests/e2e/api/nonfunc-perf-compat.spec.js:122` | skip | 活动名额并发不超卖:100 名额 / 瞬时 500 请求(需活动夹具 + 压测授权) | **F 夹具+授权** |
|
|
|
+| 7 | `tests/e2e/assessment-appointment.spec.js:97` | skip | 需提供由 parent 创建的 APPOINTMENT_ID 以验证越权取消 | **E 测试夹具** |
|
|
|
+| 8 | `tests/e2e/assessment-appointment.spec.js:110` | skip | 需提供有效 QUOTA_ID 以验证 create→confirm 闭环 | **E 测试夹具** |
|
|
|
+| 9 | `tests/e2e/assessment-appointment-functional.spec.js:122` | skip | 需注入有效 QUOTA_ID 以验证 create→confirm 闭环 | **E 测试夹具** |
|
|
|
+| 10 | `tests/e2e/assessment-appointment-functional.spec.js:136` | skip | 需注入由 parent 创建的 APPOINTMENT_ID 以验证越权取消 | **E 测试夹具** |
|
|
|
+| 11–21 | `tests/e2e/dan-assessment-vendor-flow.spec.js:72,81,118,153,188,204,219,234,249,264,279` | skip×11 | DAN 测评厂商流程(11 步全链)——受 CFC-ENV-001 限制,远程为纯后端,前端/浏览器型用例无法运行 | **C 环境阻塞** |
|
|
|
+| 22–25 | `tests/e2e/health-report-audit.spec.js:185,206,232,254` | skip×4 | 健康报告审计 DOM 型用例——同上,浏览器型无法执行 | **C 环境阻塞** |
|
|
|
+
|
|
|
+> 另 2 行:`nonfunc-perf-compat.spec.js:11,12` 为 `//` 注释说明(对应第 5/6 条),不计入可执行。
|
|
|
+
|
|
|
+## 二、六类汇总
|
|
|
+
|
|
|
+| 分类 | 数量 | 判定 | 处理建议 |
|
|
|
+|------|------|------|----------|
|
|
|
+| **A 真缺陷** | 2 | CFC-EN-001 能量发放 500(后端未捕获异常) | **派开发**(已派 lan-248 `ses_e68fcb4d0ffedxY8SIu6g3uwkA`) |
|
|
|
+| **B 部署滞后** | 1 | CFC-FM-001 nickname 未持久化——**本地代码已实现**(`FamilyMemberService.updateMember` L968 含 nickname 分支 L1008-1010 + `updateById` L1038),属远程部署滞后非代码缺陷 | **不派开发**;核远程版本确认部署 |
|
|
|
+| **C 环境阻塞** | 15 | DOM 型 E2E 无法执行:远程 cfc.iwintrue.com 为纯 Spring Boot API 后端,未部署 uni-app H5 / cfc-web 前端 | **不派开发**;待前端部署后启用 |
|
|
|
+| **D 环境数据** | 1 | 远程暂无已发布文章 | **不派开发**;测试数据准备后启用 |
|
|
|
+| **E 测试夹具** | 4 | 需注入 QUOTA_ID / APPOINTMENT_ID 等测试前置数据 | **测试补夹具**,不派开发 |
|
|
|
+| **F 夹具+授权** | 2 | 需任务流/活动夹具 + 压测授权 | **测试补夹具**,不派开发 |
|
|
|
+
|
|
|
+## 三、关键判据
|
|
|
+
|
|
|
+1. **CFC-EN-001 根因链路**(A 类真缺陷,唯一需开发修复):
|
|
|
+ `EnergyController.grantEnergy`(L206/223) → `EnergyService.grantEnergy`(L1994) → `awardEnergy`(L1645) → `matchBehaviorConfig("task")` → `task_complete` → `awardByConfig`(L1682) / `executeAward`(L1723);`GlobalExceptionHandler.handleException(Exception)` 把未捕获异常统一映射 `Result.error("服务器内部错误")` = 500。测试 `DIMENSION='body'`。
|
|
|
+ - 候选根因①:`getDimByCode("body")` 返回 null → 抛 `RuntimeException("维度代码无效:body")`;
|
|
|
+ - 候选根因②:`parseDimensionAssign`(L1689) 解析异常;
|
|
|
+ - 候选根因③:日上限/余额链路。
|
|
|
+ - 以真实调用栈为准。
|
|
|
+2. **CFC-FM-001 已过时(部署滞后非代码缺陷)**:本地 `FamilyMemberService.updateMember` 已含 nickname 持久化分支,无需开发改动。
|
|
|
+3. **badges NOT_FOUND 已过时**:前端 commit `c465bc3b3`(2026-10-30 14:32)已收敛 ChildBadge→MemberBadge 并改纯成就页;`utils/api.js` 与页面仅用 `/api/badges/member/list`、`/statistics/member`、`/ranking/family`,无 `child/list`、`statistics/child` 调用方;`BadgeController.java` `@RequestMapping("/api/badges")`(L18) 无 child 端点。**不开发**。
|
|
|
+
|
|
|
+## 四、结论与建议
|
|
|
+
|
|
|
+- **仅 A 类(CFC-EN-001,2 条)需开发修复**,已派发并跟踪。
|
|
|
+- B/C/D 类(17 条)不派开发,分别归因部署滞后/环境阻塞/测试数据。
|
|
|
+- E/F 类(6 条)由测试团队补夹具后启用。
|
|
|
+- 报告来源 `INTERFACE_TEST_REPORT.md`:542 用例,BIZ_OK 246/542=45%;387 自动化(api 56 / 角色分包 52 / DOM 279),202 文档化 TC,360/387=93% 完成。
|