c1e5cea4667(2026-11-06 01:43,docs(tdd) 主口径契约 79 例复验)9daeaa660 → 本轮 HEAD 自基线起 docs 有 2 个新 spec 提交,闸门触发| 模块 | 技术栈 | 实测命令 | 结果 |
|---|---|---|---|
| cfc-web(管理端) | Vue2 + Jest | npx jest --ci --coverage |
✅ 12 套件 / 90 用例全绿(mock API,不访问真实服务) |
| cfc-backend(后端) | Spring Boot 2.7 + JUnit5 | mvn -o clean test -DskipTests=false |
✅ BUILD SUCCESS,1698 用例 |
| 内网 E2E /frontend | Playwright 1.63(chromium-1234) | 只读冒烟探针 | ✅ 200 / 页面渲染正常 |
| 内网 E2E /admin | Playwright | curl 探活 + 登录脚本缺口 | ⚠️ 302 可达;登录 el-select 脚本缺口,降级为测试设计 |
| 依赖漏洞 / 压测 / 公网装浏览器 | — | — | ⛔ 未授权未执行(需联网) |
约束严守:不访问外部公网;不修改/提交/推送生产源码(仅新增 1 个测试文件,未提交);凭据经
machine.json机级配置注入,本报告不回显任何口令/令牌。
| 套件 | 总数 | 通过 | 失败 | 错误 | 跳过 | 备注 |
|---|---|---|---|---|---|---|
| cfc-web Jest | 90 | 90 | 0 | 0 | 0 | 12 套件;axios-mock-adapter mock API |
| cfc-backend mvn(全量) | 1698 | 1574 | 71 | 53 | 4 | 39 个红类;BUILD SUCCESS(失败忽略) |
| 新增 DimensionCodeConstantsTest | 2 | 2 | 0 | 0 | 0 | 本轮 SRS 闸门触发新增,单独验证通过 |
| E2E /frontend 冒烟 | 1 | 1 | 0 | 0 | 0 | 只读探针,非完整用例集 |
后端红类分布(Top,按 F+E 排序):
ArticleControllerTest F=4 E=5GuideOrderControllerTest F=6 E=2CfCommissionServiceSettleTest F=8 E=0ProductOrderControllerTest E=6;ProductOrderServiceFulfillmentMultiModeTest E=6EnergySystemFlowTest F=6;AuthControllerTest F=4;GuideRolePermissionTest F=4 E=1AdminFamilyOverviewControllerTest E=3 + FamilyAdminOverviewServiceTest E=3 + UserServiceFamilyNameLinkTest E=2(B-13 环境红,硬编码 127.0.0.1:3306)HealthDimensionControllerTest F=2(B-18 维度合并 currentMemberId 兜底)| 模块 | 语句 | 分支 | 函数 | 行 | 说明 |
|---|---|---|---|---|---|
| cfc-web Jest | 9.52% (211/2215) | 5.27% (136/2578) | — | 9.35% (192/2053) | coverage-final.json 解析 |
| cfc-backend mvn | 未实测 | 未实测 | 未实测 | 未实测 | pom 缺 JaCoCo,不擅改构建配置 |
a96bd0848)| 指标 | 19:44 基线 | 本轮 | 变化 |
|---|---|---|---|
| 总数 | 1664 | 1698 | +34(维度合并新增测试全绿) |
| 通过 | 1538 | 1574 | +36 |
| 失败 | 71 | 71 | 持平 |
| 错误 | 51 | 53 | +2 |
| 跳过 | 4 | 4 | 持平 |
| 红类 | 38 | 39 | +1 |
判定:本周期无新增代码回归。失败数持平;+2 错误 / +1 红类与 19:44 已标记的「契约漂移」一致(JwtInterceptor / ProductController / GuideFamilyTaskController / TaskController 等变更引入,非 SC-X-22),属历史遗留待复核项,非本轮引入。维度统一合并(aa6ccb2dd)所带测试全部纳入并全绿,是正向增量。
基线 9daeaa660 → HEAD 的 docs 变更仅 2 个新 spec:
docs/superpowers/specs/2026-11-05-dimension-scoring-convention.md(P2-T2 维度评分口径)docs/superpowers/specs/2026-11-05-miniapp-games-entry.md(T41 小程序小游戏入口)产出:
| 新增/修订 | 文件 | 用例 | 对应需求 | 结果 |
|---|---|---|---|---|
| 新增 | cfc-backend/src/test/java/com/etotem/cfc/unit/DimensionCodeConstantsTest.java |
2(常量取值 + 断点不变式) | §1/§7 P2-T2 共享常量 SCORE_MIN/MAX、BAND_P5/25/75/95 | ✅ 单独 mvn -Dtest=... 2/0/0/0 通过 |
① 问题描述:3 个测试类 8 例 Error,因 @SpringBootTest 硬编码 127.0.0.1:3306,沙箱/CI 无该 MySQL 实例。
② 测试 bug 点:AdminFamilyOverviewControllerTest、FamilyAdminOverviewServiceTest、UserServiceFamilyNameLinkTest(硬编码 127.0.0.1:3306)。
③ 最优修改方案:将 DB 主机改为 @Value("${test.datasource.host:127.0.0.1}") 可配置项,或改用 @MockBean / testcontainers 隔离。
④ 修改目的:使集成测试在 CI/沙箱可运行,消除环境耦合导致的假红。
⑤ 闭环:配置化后重跑该 3 类 → 0 Error 为通过标准;当前标记环境红,不计入代码质量缺陷。
① 问题描述:分佣结算 8 例失败,疑似金额精度/比例口径与实现漂移。
② 测试 bug 点:com.etotem.cfc.service.CfCommissionServiceSettleTest(F=8)。
③ 最优修改方案:逐例比对断言值与 CfCommissionService.settle() 实际算法,修订期望值或修正实现口径(以 API_REFERENCE 为准)。
④ 修改目的:消除测试源码/实现契约漂移,恢复结算逻辑可验证性。
⑤ 闭环:修订后该测试类 0 失败即通过;需研发确认口径后由测试侧复验。
① 问题描述:文章控制器 9 例红,混合失败与错误,疑似请求体/状态码断言与路由实现不一致。
② 测试 bug 点:com.etotem.cfc.controller.ArticleControllerTest(F=4 E=5)。
③ 最优修改方案:对照 docs/superpowers/api/API_REFERENCE.md 文章接口契约,修订状态码/字段断言;错误项排查是否需 DB 预制数据。
④ 修改目的:文章发布-审核链路回归可守护。
⑤ 闭环:该测试类 0F0E 即通过;当前标记待核实(缺预制数据项)。
① 问题描述:测评订单与规划师角色权限 12 例红,疑似角色校验返回码(401/403)与测试预期不符,或 childId→memberId 术语迁移未同步。
② 测试 bug 点:GuideOrderControllerTest、GuideRolePermissionTest。
③ 最优修改方案:对齐 SC-G-06 越权拦截契约与 memberId 模型,修正断言。
④ 修改目的:规划师/家长双角色切换与订单链路可信。
⑤ 闭环:对照 SC-G-03/SC-G-06 契约复验 0 红即通过。
① 问题描述:/admin 探活 302 可达,但登录流 el-select 身份下拉未点选,导致提交按钮 disabled,无法完成真实登录断言。
② 测试 bug 点:tests/e2e/helpers/auth.js 管理员登录步骤(缺身份下拉选择动作)。
③ 最优修改方案:在 auth.js 登录流程补 el-select 选项点击(或注入已是管理员的会话态),使 /admin 全流程可断言。
④ 修改目的:打通管理端 E2E 实测,消除「待核实登录态」降级。
⑤ 闭环:补脚本后实跑 /admin 登录→看板,断言关键元素存在即通过。
① 问题描述:pom 无 JaCoCo 插件,后端行/分支覆盖率无法采集。
② 测试 bug 点:cfc-backend/pom.xml(缺 jacoco-maven-plugin)。
③ 最优修改方案:在 pom 注入 JaCoCo(报告阶段绑定 test),或仅本闭环用 -javaagent 临时采集,不擅改仓库构建(需用户确认)。
④ 修改目的:达成覆盖率门禁基线(建议行≥60%/分支≥50% 起步)。
⑤ 闭环:引入后 mvn test 产出 jacoco 报告,达阈值即通过。
| 缺口 | 现状 | 风险 | 建议测试设计 | 优先级 | 闭环方式 |
|---|---|---|---|---|---|
| T41 小程序小游戏入口 | 无 jest harness(cfc-frontend uni-app) | 入口跳转/权限未守护 | 待补小程序集成测试或 e2e 脚本 | P2 | 建 harness 后补用例 |
| /admin 完整 E2E | 登录脚本缺口 + 沙箱批量删除守卫 | 管理端回归盲区 | 修 auth.js + 用 noreset 配置实跑 | P1 | 脚本修复后实跑 |
| 后端覆盖率 | JaCoCo 缺失 | 质量门禁无据 | 引入 JaCoCo 报告 | P1 | 达阈值 |
| 探索性/验收/UAT | 无 | 端到端业务信心不足 | 用户场景框架(218 SC→729 用例未接 CI) | P2 | 接 CI 流水线 |
| 安全/性能/压测 | 未授权联网 | 生产风险未知 | 依赖漏洞扫描 + 压测(需授权) | P1 | 用户授权后执行 |
SAFE_DELETE_BULK_CONFIRM_REQUIRED)+ 修复 /admin 登录脚本。owasp-dependency-check / Trivy,门禁阻断高危。⛔ 不通过(有条件)
依据:
正向增量(本周期):
aa6ccb2dd)测试全绿纳入,无新增回归;DimensionCodeConstantsTest(2 例)闭环 P2-T2 评分口径共享常量,通过;复评条件(全部满足方转「通过」):
--mark-yellow 收口(O-1 遗留)。报告未提交/未推送。新增测试文件 DimensionCodeConstantsTest.java 仅落测试目录,待用户评审后决定是否入库。