a96bd0848(含 19:19 兄弟轮提交的契约复验报告);全量后端基线 8b75d5eb25(15:14)本轮因源码变更已失效→重跑;SRS 闸门基线 9daeaa660(17:45,未变)| 模块 | 技术栈 | 实际执行的命令 | 说明 |
|---|---|---|---|
| cfc-backend | Spring Boot 2.7 + MyBatis-Plus | /d/tools/apache-maven-3.9.9/bin/mvn -o -DskipTests=false test(离线,全量) |
源码自 15:14 基线已变更 → 按本任务铁律「源码变更→重跑」执行全量,得当前真实数据 |
| cfc-web | Vue2 + Jest | npx jest --ci(离线,mock API) |
12 套件全跑 |
| 内网 E2E | Playwright(chromium-1234,executablePath 兜底) | 只读渲染探针 _e2e_probe_1944.cjs |
/frontend、/admin 可达性 + 登录页渲染冒烟 |
约束重申:未访问外部公网;未安装依赖;未执行仓库内脚本;未修改/提交/推送生产源码;敏感凭据不入库、不回显(E2E 仅达登录页,未注入明文口令)。
| 维度 | 总数 | 通过 | 失败 | 错误 | 跳过 | 备注 |
|---|---|---|---|---|---|---|
| cfc-backend 全量套件(本轮实跑) | 1664 | 1538 | 71 | 51 | 4 | BUILD FAILURE 仅因测试失败(非构建中断),结果有效 |
| └ B-13 环境红(硬编码 127.0.0.1:3306) | — | — | 0 | 8 | — | 3 类:AdminFamilyOverviewControllerTest(E3)/FamilyAdminOverviewServiceTest(E3)/UserServiceFamilyNameLinkTest(E2) |
| └ 契约漂移 | — | — | 71 | 43 | — | 35 个红类(含 SC-X-22 新增 15 例全绿,未计入漂移) |
| cfc-web Jest | 90 | 90 | 0 | 0 | 0 | 12 套件,axios-mock-adapter mock API,不断言真实服务端 |
| 内网 E2E /frontend 探针 | 1 | 1 | 0 | 0 | 0 | HTTP 200 / 最终 /frontend/#/ / SPA 外壳可达 |
| 内网 E2E /admin 探针 | 1 | 1 | 0 | 0 | 0 | HTTP 200 / 重定向 /admin/login / 标题「浠艾福管理后台」(登录页渲染正常) |
回归判定(vs 15:14 全量基线 1649/1525/71/49/4,37 红):
- 总数 +15(SC-X-22 生产 + 15 例契约测试,全部绿);
- 失败 71→71(持平);错误 49→51(+2);红类 37→38(+1 漂移类)。
- 因 SC-X-22 15 例已证全绿(17:45 实测 + 本轮绿灯),+2 错误 / +1 红类并非 SC-X-22 引入,而源自 15:14 之后并入的其它源码变更(
JwtInterceptor +5、ProductController +33、GuideFamilyTaskController +6、TaskController +8、实体 +8/+8)——属新引入的契约漂移,需逐类复核定位具体 2 例。- Jest 12/90 与近 10+ 轮一致,零回归。
pom.xml 无 JaCoCo 插件 → 覆盖率未实测(历史缺口,延续);测试侧不擅自改构建配置。--coverage → 覆盖率未实测。GuideFamilyTaskControllerTest F3/E2、TaskControllerReviewTest E2 等),待逐类复核定位具体 2 例(15:14 逐类基线已被本次 surefire 覆盖,无法回放)。f14e46f84;本轮全量红类含 DimensionRegistryMapContractTest F3,与 B-21/S-cfc-8 一致。闸门判定:SRS/specs/需求分析/API_REFERENCE 自 gate 基线 9daeaa660 起零提交(git 核实 9daeaa660..HEAD 仅 1 个 docs(tdd) 报告提交,无 SRS/需求变更)→ 闸门未触发,跳过编写,零仓库抖动。
9daeaa660(不变)。cfc-frontend/__tests__/api/api.test.js、tests/e2e/helpers/auth.js 等),非 SRS 触发,列「待核实」,本轮不纳入、不提交。① 问题描述:SC-X-22 生产先于契约测试合入,预估接口缺回归防护(17:45 轮已补写)。
② 测试 bug 点:原 cfc-backend/src/test 无 RewardEstimateController 相关测试。
③ 最优修改方案:新增 2 类 15 例契约测试(controller 11 + service 4),standalone MockMvc + mock 依赖,DB-free。
④ 修改目的:保障预估/降级/权限契约不被回归破坏。
⑤ 问题闭环:已绿;本轮全量复跑仍绿(15/15)。复测 = mvn -o -Dtest='RewardEstimateControllerEstimateTest,RewardRuleServiceEstimateTest' test 全绿。
① 问题描述:3 类测试硬编码本地 MySQL,无本地 DB 的 CI/沙箱环境 → 环境红,掩盖真实结果。
② 测试 bug 点:AdminFamilyOverviewControllerTest(E3) / FamilyAdminOverviewServiceTest(E3) / UserServiceFamilyNameLinkTest(E2) 连接 127.0.0.1:3306。
③ 最优修改方案:DB 地址/账号改为可配置(@TestPropertySource/环境变量)或改 Testcontainers/H2 内存库。
④ 修改目的:消除环境红,使结果可信、可在无本地 3306 环境复跑。
⑤ 问题闭环:需研发改造 + CI 注入配置;复测 = CI(无本地 3306)下 8 例转绿。本轮 8E 与历史完全一致,无改善。
① 问题描述:测试按旧契约断言(状态码 500↔410/403/400/5001、术语 childId→memberId、文案漂移、Mockito 误用),长期被掩盖。
② 测试 bug 点:分散在既有 controller/service 集成测试(本轮 35 个红类,surefire 报告为准)。
③ 最优修改方案:逐类二分,对齐生产当前契约后修正断言;属测试侧漂移,非生产缺陷。
④ 修改目的:达 BUILD SUCCESS、零失败/错误,建立可信基线。
⑤ 问题闭环:逐类修订后对应用例转绿;复测 = mvn -o -DskipTests=false test 全量 0 失败 0 错误。本轮较 15:14 多 1 红类 +2 错误(见 Q6)。
① 问题描述:/admin 登录流程 el-select 身份项未编程点选,致登录按钮 disabled,无法进入管理端断言。
② 测试 bug 点:tests/e2e/helpers/auth.js / admin-*.spec.js 登录步骤缺身份下拉选择。
③ 最优修改方案:在 auth.js 登录序列补 el-select 选项点选(machine.json 已配 admin 凭据,不回显)。
④ 修改目的:使 /admin 端到端用例可真实执行。
⑤ 问题闭环:修正后复跑 admin-*.spec.js 全绿;复测 = /admin 登录成功并渲染管理面板。本轮探针仅达登录页(200),真实登录断言仍被脚本缺口阻断。
① 问题描述:本轮 12 套件 90 例,与历史 296 口径不一致,疑似部分套件未纳入或历史含其它目录。
② 测试 bug 点:cfc-web/package.json jest config 与历史台账范围不一致。
③ 最优修改方案:统一 Jest roots/include,对齐 discovery 台账;核对是否漏跑 e2e/组件套件。
④ 修改目的:口径一致,便于回归对比。
⑤ 问题闭环:核对后使 Jest 全量套件与台账一致;复测 = 全量套件纳入。
① 问题描述:本轮全量较 15:14 基线错误 +2、漂移红类 +1,且非 SC-X-22 引入(SC-X-22 15 例全绿),疑似 JwtInterceptor/ProductController/GuideFamilyTaskController/TaskController 变更触发契约漂移。
② 测试 bug 点:候选 GuideFamilyTaskControllerTest(F3/E2)、TaskControllerReviewTest(E2)、GuideRolePermissionTest(F4/E1) 等;精确 2 例因 15:14 逐类基线已被覆盖无法回放,待核实。
③ 最优修改方案:对候选红类逐类 git diff 8b75d5eb25..HEAD -- <对应生产类> 比对契约,修正断言/桩。
④ 修改目的:消除本轮新引入的漂移,使回归画像收敛至仅剩历史遗留项。
⑤ 问题闭环:修正后复跑该红类转绿;复测 = 全量错误回落至 49、红类回落至 37。
GuideFamilyTaskController/TaskController/GuideRolePermission 等候选类 git diff 比对);nonfunc-security/nonfunc-perf-compat 等)未重验;dependency-check:check 阻断高危 CVE。/api/reward/estimate 阶梯压测,关注 P95 < 3s(契约 §8 超时红线)。chromium-1234 已就绪(本次探针已用其 executablePath 兜底),仅 chromium_headless_shell-1243 缺失,/admin 全量脚本需确认浏览器完备。不通过(有条件)。
复评条件(任一满足即提升 verdict):
mvn -o -DskipTests=false test BUILD SUCCESS 且 0 失败 0 错误;auth.js 身份选择,使 /admin + /frontend 端到端全绿;--mark-yellow(O-1,跨轮遗留卡点)。注:本轮报告与新增测试未提交、未推送(依指令);如需纳入版本控制请显式授权,我可
git add -f仅测试相关文件后提交(不碰生产源码)。
报告文件:d:/cfc/_test_closure_report_2026-11-05_1944.md