9daeaa660;SRS 闸门基线 c83c4eb25 → 本轮更新至 9daeaa660| 模块 | 技术栈 | 实际执行的命令 | 说明 |
|---|---|---|---|
| cfc-backend | Spring Boot 2.7 + MyBatis-Plus | mvn -o -DskipTests=false -Dtest='RewardEstimateControllerEstimateTest,RewardRuleServiceEstimateTest' test(离线) |
仅跑本次新增 SC-X-22 契约测试(DB-free,避开 127.0.0.1:3306 环境红) |
| cfc-web | Vue2 + Jest | npx jest --ci(离线,mock API) |
12 套件全跑 |
| 内网 E2E | Playwright(chromium-1234) | 只读探针 _probe_frontend.cjs |
/frontend 可达性+渲染冒烟;凭据已配于 machine.json |
约束重申:未访问外部公网;未安装依赖;未执行仓库内脚本;未修改/提交/推送生产源码;敏感凭据不入库、不回显。
| 维度 | 总数 | 通过 | 失败 | 错误 | 跳过 | 备注 |
|---|---|---|---|---|---|---|
| cfc-web Jest | 90 | 90 | 0 | 0 | 0 | 12 套件,axios-mock-adapter mock API,不断言真实服务端 |
| cfc-backend 新增 SC-X-22 契约测试 | 15 | 15 | 0 | 0 | 0 | 2 类(controller 11 + service 4),本次实测全绿 |
| cfc-backend 全量套件(15:14 基线复用) | 1649 | 1525 | 71 | 49 | 4 | SC-X-22 合入为纯新增文件,未改动既有被测类,120 失败基线不变 |
| 内网 E2E /frontend 只读探针 | 1 | 1 | 0 | 0 | 0 | HTTP 200 / title=首页 / 渲染正常 |
| 内网 E2E /admin | — | — | — | — | — | 登录脚本缺口(el-select 身份未点选),降级为测试设计 |
回归判定:Jest 12/90 与近 10+ 轮一致,零回归;SC-X-22 合入为纯新增,既有 120 失败数持平,无新增回归。
pom.xml 无 JaCoCo 插件 → 覆盖率未实测(历史缺口,延续);测试侧不擅自改构建配置。--coverage → 覆盖率未实测。f14e46f84)—— 本次已补写 15 例契约测试并全绿,闭环该缺口。闸门判定:SRS/specs/需求分析/API_REFERENCE 自 gate 基线 c83c4eb25 起存在需求变更 → 触发编写。
6141c43a2 docs(spec): SC-X-22 CF值获取预估后端设计契约 v1.0(新增 spec)+ f14e46f84 feat(sc-x22): SC-X-22 实现合入主线。新增/修订用例清单(仅写入测试目录,未提交/未推送):
cfc-backend/src/test/java/com/etotem/cfc/controller/reward/RewardEstimateControllerEstimateTest.java — 11 例
cfc-backend/src/test/java/com/etotem/cfc/service/RewardRuleServiceEstimateTest.java — 4 例
实测验证:mvn -o -Dtest=... test 运行 15 例全部 PASS,BUILD SUCCESS(证明实现满足契约覆盖路径)。
gate 基线更新:c83c4eb25 → 9daeaa660(本轮 HEAD),避免重复触发。
① 问题描述:SC-X-22 生产实现(RewardEstimateController/RewardRuleService)先于契约测试合入主线,预估接口缺乏回归防护。
② 测试 bug 点:cfc-backend/src/test 下无 RewardEstimateController 相关测试(S-cfc-16 未按契约落地)。
③ 最优修改方案:新增 2 个契约测试类(controller 11 例 + service 4 例),standalone MockMvc + mock 依赖,DB-free。
④ 修改目的:闭环 SC-X-22 测试缺口,保障预估/降级/权限契约不被回归破坏。
⑤ 问题闭环:已绿(15/15,mvn -o 实测通过);复测标准 = 后续 mvn -o -Dtest='RewardEstimateControllerEstimateTest,RewardRuleServiceEstimateTest' test 全绿。
① 问题描述:3 类测试硬编码本地 MySQL 地址,沙箱/CI 无该实例 → 环境红,掩盖真实结果。
② 测试 bug 点:AdminFamilyOverviewControllerTest / FamilyAdminOverviewServiceTest / UserServiceFamilyNameLinkTest 等(连接 127.0.0.1:3306)。
③ 最优修改方案:将 DB 地址/账号改为可配置(@TestPropertySource/环境变量),或改用 Testcontainers / H2 内存库。
④ 修改目的:消除环境红,使结果可信、可在无本地 DB 环境复跑。
⑤ 问题闭环:需研发改造 + CI 注入配置;复测标准 = 在 CI(无本地 3306)下 8 例转绿。
① 问题描述:测试按旧契约断言(状态码 500↔410/403/400、术语 childId→memberId、文案漂移、Mockito 误用),长期被编译阻断掩盖。
② 测试 bug 点:分散在 cfc-backend 既有 controller/service 测试(surefire 报告 34 类失败)。
③ 最优修改方案:逐类二分,对齐生产当前契约(状态码/字段名/文案)后修正断言;属测试侧漂移,非生产缺陷。
④ 修改目的:达 BUILD SUCCESS、零失败/错误,建立可信基线。
⑤ 问题闭环:需研发/测试按类修订;复测标准 = mvn -o -DskipTests=false test 全量 0 失败 0 错误。
① 问题描述:/admin 登录流程 el-select 身份项未编程点选,致登录按钮 disabled,无法进入管理端断言。
② 测试 bug 点:tests/e2e/auth.js / admin-*.spec.js 登录步骤缺身份下拉选择。
③ 最优修改方案:在 auth.js 登录序列补 el-select 选项点选(machine.json 已配 admin 凭据)。
④ 修改目的:使 /admin 端到端用例可真实执行。
⑤ 问题闭环:修正后复跑 admin-*.spec.js 全绿;复测标准 = /admin 登录成功并渲染管理面板。
① 问题描述:本轮 12 套件 90 例,与历史 296 口径不一致,疑似部分套件未纳入或历史口径含其他目录。
② 测试 bug 点:cfc-web/package.json jest config 与历史台账(tests/test-cases 等)范围不一致。
③ 最优修改方案:统一 Jest roots/include,对齐 discovery 台账;核对是否漏跑 e2e/组件套件。
④ 修改目的:口径一致,便于回归对比。
⑤ 问题闭环:核对后使 Jest 全量套件与台账一致;复测 = 全量套件纳入。
nonfunc-security/nonfunc-perf-compat 等)未重验;dependency-check:check,阻断高危 CVE。/api/reward/estimate 做阶梯压测,关注 P95 < 3s(契约 §8 超时红线)。mvn -o -DskipTests=false test 全量。不通过(有条件)。
复评条件(任一满足即提升 verdict):
mvn -o -DskipTests=false test BUILD SUCCESS 且 0 失败 0 错误;auth.js 身份选择,使 /admin + /frontend 端到端全绿;注:本轮新增测试未提交、未推送(依指令);如需纳入版本控制请显式授权,我可
git add -f仅两测试文件后提交(不碰生产源码)。
报告文件:d:/cfc/_test_closure_report_2026-11-05_1745.md