|
|
@@ -0,0 +1,115 @@
|
|
|
+# 测试执行报告(除编译外自动化测试 · 2026-11-06 03:46 轮)
|
|
|
+
|
|
|
+- 执行时间:2026-11-06 03:46–04:36 (GMT+8)
|
|
|
+- 执行角色:测试负责人(cfc-tester,本会话,review 档离线执行)
|
|
|
+- 项目:cfc(d:/cfc,分支 cfclub,HEAD 089a4835c)
|
|
|
+- 范围:后端 JUnit 全量 + 前端 Jest + 管理端 Jest;不含编译验证、不含联网项
|
|
|
+- 默认决策(无人值守):仅执行已安装、可离线的既有测试套件;不联网、不改源码、不派发 opencode
|
|
|
+
|
|
|
+---
|
|
|
+
|
|
|
+## 一、执行结果总览
|
|
|
+
|
|
|
+| 测试套件 | 测试数 | 通过 | 失败 | 错误 | 跳过 | 状态 |
|
|
|
+|---------|-------|------|------|------|------|------|
|
|
|
+| 前端 Jest(cfc-frontend) | 296 | 296 | 0 | 0 | 0 | ✅ 全绿 |
|
|
|
+| 管理端 Jest(cfc-web) | 90 | 90 | 0 | 0 | 0 | ✅ 全绿 |
|
|
|
+| 后端 JUnit(cfc-backend,全量 220 类) | **1700** | **1572** | **71** | **53** | 4 | ❌ 未通过 |
|
|
|
+
|
|
|
+> 后端通过率 = 1572/1700 = 92.5%;未通过 = 124(71 失败 + 53 错误)。
|
|
|
+> 执行方式:`mvn -DforkCount=0 -DskipTests=false test`(延续 11-05 处置:forkCount=0 规避 Windows WMIC 进程存活误报导致的全量中断,本轮零 fork 崩溃、零遗漏跑完全部 220 类)。
|
|
|
+
|
|
|
+## 二、与上轮(2026-11-06 00:04 triage)对比
|
|
|
+
|
|
|
+| 指标 | 上轮 00:04 | 本轮 03:46 | 变化 |
|
|
|
+|------|-----------|-----------|------|
|
|
|
+| 测试类 | 219 | 220 | +1 |
|
|
|
+| 用例数 | 1698 | 1700 | +2 |
|
|
|
+| 通过 | 1560 | 1572 | **+12** |
|
|
|
+| 失败 / 错误 | 71 / 63 | 71 / 53 | 错误 −10 |
|
|
|
+| 未通过合计 | 134 | 124 | **−10** |
|
|
|
+| 通过率 | 91.9% | 92.5% | +0.6pp |
|
|
|
+
|
|
|
+> 结论:无新增回归,错误项净减 10,通过率小幅回升;未通过集中项与上轮一致(无新缺陷引入)。
|
|
|
+
|
|
|
+## 三、未通过项分类聚合(124 case / 按根因)
|
|
|
+
|
|
|
+| 分类 | 未通过 case | 涉及类 | 性质 |
|
|
|
+|------|------------|--------|------|
|
|
|
+| ASSERT | 60 | 23 | 断言与期望不一致(契约/逻辑) |
|
|
|
+| NPE | 28 | 11 | 空指针(多为 mock 返回 null 未判空,或实现返回 null) |
|
|
|
+| OTHER | 11 | 2 | 未分类异常 |
|
|
|
+| ENV_DB_CONN | 8 | 3 | 数据库连接类环境噪声(AdminFamilyOverview/… 需标准测试库) |
|
|
|
+| OTHER_EXC | 6 | 4 | 其他异常 |
|
|
|
+| MOCK_MISUSE | 6 | 2 | Mockito matcher 误用 |
|
|
|
+| TEST_SETUP | 5 | 2 | 测试装配字段缺失 |
|
|
|
+
|
|
|
+> 注:CTX_LOAD 类本轮 0 例(上轮 9 例为单类 DimensionRegistryTreeTest,属历史遗留,本轮未见复发报告,仍标注「待核实」)。
|
|
|
+
|
|
|
+## 四、主要失败类(按 spread)
|
|
|
+
|
|
|
+| 测试类 | 未通过 | 主根因 |
|
|
|
+|-------|-------|--------|
|
|
|
+| ArticleControllerTest | 9 | ASSERT/NPE/OTHER_EXC(list/recordRead/featured) |
|
|
|
+| GuideOrderControllerTest | 8 | ASSERT/NPE(订单详情/统计/分页) |
|
|
|
+| EnergySystemFlowTest | 6 | ASSERT(能量兑换/日志/任务加分) |
|
|
|
+| ProductOrderControllerTest | 6 | NPE(confirm/myOrders 断言前空指针,行 203/219/234/330/344/357) |
|
|
|
+| GuideFamilyTaskControllerTest | 5 | ASSERT/NPE(任务概览/审核) |
|
|
|
+| GuideRolePermissionTest | 5 | ASSERT/NPE(规划师权限) |
|
|
|
+| PlannerBindInviteFlowTest | 5 | ASSERT/OTHER_EXC(绑定/解绑流程) |
|
|
|
+| AuthControllerTest | 4 | ASSERT(autoLogin/switchRole 与 JWT 拦截器实际行为不一致) |
|
|
|
+| PaymentControllerTest | 4 | ASSERT(回调/下单) |
|
|
|
+| GrowthRecordSyncFlowTest | 3 | NPE/ASSERT(健康报告上传) |
|
|
|
+| ProductControllerTest | 3 | MOCK_MISUSE(shelve 系列) |
|
|
|
+| AdminFamilyOverviewControllerTest | 3 | ENV_DB_CONN(环境噪声) |
|
|
|
+
|
|
|
+## 五、五要素问题清单(高优先级,抽样)
|
|
|
+
|
|
|
+### P1-1 商品订单空指针(ProductOrderControllerTest 6 case)
|
|
|
+
|
|
|
+- **① 描述**:confirm/myOrders 断言前 NPE,共 6 case,属上轮已定位遗留。
|
|
|
+- **② bug 点**:`ProductOrderControllerTest.java` confirm_*/myOrders_* 断言前 mock 返回 null 未判空(行约 203/219/234/330/344/357)。
|
|
|
+- **③ 方案**:对 mock 返回值补非空构造/判空断言,或按契约修正 mock stub。
|
|
|
+- **④ 目的**:商城订单主流程契约稳定。
|
|
|
+- **⑤ 闭环**:`mvn -DforkCount=0 -Dtest=ProductOrderControllerTest test` 全绿。
|
|
|
+
|
|
|
+### P1-2 成长规划师模块(Guide* 4 类 20 case)
|
|
|
+
|
|
|
+- **① 描述**:GuideOrder/GuideFamilyTask/GuideRolePermission/GuideTeam 未通过共 20 case,涉及订单详情、任务审核、团队统计。
|
|
|
+- **② bug 点**:getOrderDetail_*/reviewTask_*/batchReview_*/getPendingReviewTasks_* 断言行。
|
|
|
+- **③ 方案**:逐条核对契约期望与 Result/401 语义;NPE 断言前判空。
|
|
|
+- **④ 目的**:成长规划师为 P0 核心路径。
|
|
|
+- **⑤ 闭环**:`-Dtest="Guide*"` 全绿为通过标准。
|
|
|
+
|
|
|
+### P1-3 健康/能量主链路(EnergySystemFlowTest 6 + GrowthRecordSyncFlowTest 3 + HealthDimension 2)
|
|
|
+
|
|
|
+- **① 描述**:能量兑换、健康报告上传、维度历史/概览共 11 case 未通过。
|
|
|
+- **② bug 点**:childExchanges*/taskCompletionGrants*/parentUploadsHealthReport_* 断言行。
|
|
|
+- **③ 方案**:核对五维能量契约与健康报告上传-解析-入库链路;NPE 处补判空。
|
|
|
+- **④ 目的**:五维能量与健康报告为产品核心链路。
|
|
|
+- **⑤ 闭环**:对应测试类全绿。
|
|
|
+
|
|
|
+## 六、执行方式与未实测项(如实标注)
|
|
|
+
|
|
|
+- 后端:`mvn -DforkCount=0 test` 全量单次跑通(无 fork 崩溃)。日志:`.tdd/backend-fulltest-20261106-0346.log`;前端/管理端 JSON:`.tdd/test-run-fe-20261106.json`、`.tdd/test-run-web-20261106.json`。
|
|
|
+- **未实测项**:
|
|
|
+ - Playwright E2E(tests/e2e):需联网目标环境(cfc.iwintrue.com),**未授权未执行**。
|
|
|
+ - cfc-langgraph pytest:按项目约定由远程主机(192.168.16.251)执行,本机不跑;本机亦无 pytest 环境。
|
|
|
+ - tools/xaf_agent_hub/tests:目录不存在、本机无 pytest,**未执行**。
|
|
|
+ - 覆盖率为静态口径(handler 命中),非 JaCoCo 实测行覆盖。
|
|
|
+ - ENV_DB_CONN 8 case 未在标准测试库环境复测。
|
|
|
+ - CTX_LOAD 上轮 9 例(DimensionRegistryTreeTest)本轮未见,标「待核实」。
|
|
|
+
|
|
|
+## 七、门禁结论
|
|
|
+
|
|
|
+**结论:不通过。**
|
|
|
+
|
|
|
+- 前端 296/296、管理端 90/90 全绿。
|
|
|
+- 后端 1700 测试:1572 通过(92.5%),124 未通过(71 失败 + 53 错误),未通过分布在 30+ 测试类,含成长规划师、能量健康、商城支付、文章/认证等核心路径;多数为**测试代码自身缺陷**(NPE 未判空、契约断言不一致、mock 误用)+ 少量环境噪声(ENV_DB 8)。
|
|
|
+- 相较上轮净减 10 个错误、无新增回归。
|
|
|
+
|
|
|
+**放行前提**:修复 P1-1~P1-3 等高优先级测试类后全量重跑,通过率 ≥ 95% 且无 P0 路径失败。
|
|
|
+
|
|
|
+---
|
|
|
+
|
|
|
+*执行日志:`.tdd/backend-fulltest-20261106-0346.log`(45m53s);结果 JSON:`.tdd/test-run-fe-20261106.json`、`test-run-web-20261106.json`*
|