test-report-20261106.md 6.7 KB

测试执行报告(除编译外自动化测试 · 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