纪律:本台账条目经测试负责人
--mark-blocked(或补登记)产生,push 到远端才算送达研发; 解除时由测试用--clear-blocked置「已解除」。缺陷详情载体见test_blockers.md与各轮巡检报告。
| 编号 | 关联键/对象 | 类型 | 描述 | 经办 | 登记时间 | 状态 |
|---|---|---|---|---|---|---|
| B-1 | cfc-backend surefire 13 红 | 研发 | 后端套件产物(11-02 08:31–08:39)148 用例中 8 fail + 5 error 长期未修;1315/1491 @Test 无执行记录。需研发修复红例并补跑全量 | 测试(巡检补登记) | 2026-11-03 10:58 | 待处理 |
| B-2 | R5 · admin-auth/login | 研发 | POST /api/admin-auth/login 未授权/空 body 返回 500(应为 401/403,异常信息泄露),安全语义缺陷。详情见 test_blockers.md R5 |
测试(巡检补登记) | 2026-11-03 10:58 | 待处理 |
| B-3 | R6 · 报告上传 | 研发 | 报告上传未做 MIME/扩展名/内容校验,非 PDF 未被拒(非 4xx),恶意文件上传风险。详情见 test_blockers.md R6 | 测试(巡检补登记) | 2026-11-03 10:58 | 待处理 |
| B-4 | F1/F2 · butler envelope / commission 400 | 研发 | §7.1 七条真实 unexpected 缺陷中 F1(butler envelope)、F2(commission 400)复跑确认仍未修复 | 测试(巡检补登记) | 2026-11-03 10:58 | 待处理 |
| B-5 | 接口冒烟 REAL_ERR 分型 | 研发 | interface_classify_failures.py 分型出 49 条 REAL_ERR(基于 11-01 轮次)未派单未修复;冒烟通过率停 45%,需研发按分型认领真实错误端点 |
测试(巡检补登记) | 2026-11-03 10:58 | 待处理 |
| B-6 | health.report.createReport | 研发 | TDD 状态机 RED 停滞(自 11-02 01:06 起):契约级单测已落地并离线实跑 5 例全绿(HealthReportControllerCreateReportTest,commit 81d8883f7 已推 origin/cfclub),实现已在库;缺研发 --mark-yellow 登记,状态机无法推进至 GREEN。更新:2026-11-04 15:20 测试侧复核实跑 |
测试(巡检更新) | 2026-11-03 10:58 | 待处理 |
| B-7 | dan.assessment.getActiveMaterial | 研发 | TDD 状态机 RED 停滞(自 11-02 01:06 起):契约级单测已落地并离线实跑 3 例全绿(DanAssessmentControllerGetActiveMaterialTest,commit faf3ca174 已推 origin/cfclub),实现已在库;缺研发 --mark-yellow 登记,状态机无法推进至 GREEN。更新:2026-11-04 15:20 测试侧复核实跑 |
测试(巡检更新) | 2026-11-03 10:58 | 待处理 |
| B-8 | CfBalanceControllerTest(P0 编译回归) | 研发 | commit dfc78e9d3(2026-11-03 23:27)给 CfBalanceController.balance/logs 新增 currentMemberId 参数,但 CfBalanceControllerTest.java(76230e2f4,2026-10-25)未同步 → 7 处编译错误(行 95/113/121/140 调 balance、169/189/202 调 logs),整模块 testCompile 失败,1474 @Test 零执行。需研发补改测试 7 处调用或回退签名 |
测试(巡检补登记) | 2026-11-04 03:49 | 已解除 → 44b2f0d42(2026-11-05 00:31)重写控制器移除 currentMemberId 再次触发同源编译回归,详见 B-10(待处理) |
| B-9 | guide.trainingPlan.getPlanDetail(鉴权缺口观察) | 研发 | POST /api/guide/training-plans/detail handler 在控制器层不读取 @RequestAttribute("role"),亦未列入 JwtInterceptor LOGIN_REQUIRED_PATHS,「规划师角色约束」名义成立但任何已认证角色(乃至匿名 userId=-1)均可到达 handler,属潜在越权缺口(同文件 getPlanList 同类观察,TR-1 第 6 点要求测试侧记录)。契约测试已落地(TrainingPlanControllerGetPlanDetailTest,8 例全绿),本条仅作缺陷观察回写,不阻断 RED→YELLOW→GREEN 推进 |
测试负责人(应 TR-1 登记) | 2026-11-04 10:10 | 待处理 |
| B-10 | CfBalanceControllerTest(P0 编译回归·复发) | 研发 | commit 44b2f0d42(2026-11-05 00:31:53,「chore(sync): 工作区遗留未提交 WIP 收尾同步」)重写 CfBalanceController.balance 为 balance(@RequestAttribute("userId") Long userId)、logs 为 logs(userId, page, size),删除 currentMemberId 参数及 stats/familySummary 方法;但测试 CfBalanceControllerTest(仍停在 c9f9ec948,曾为修复上轮 P0 给测试加上 currentMemberId 实参)未同步 → 仍调 balance(7L, null) / logs(7L, null, 1, 20),实参个数不符 → testCompile 失败,1474 @Test 零执行。需研发改测试 7 处调用去掉 currentMemberId 实参(或回退 44b2f0d42 改写)。本轮(01:05)复跑复现,日志 /d/cfc/.tdd/backend-run-20261105-0105.log。升级(01:36 复跑确认):测试文件已被 44b2f0d42 迁移至 cfc-backend/src/test/java/com/etotem/cfc/unit/CfBalanceControllerTest.java,仍以旧签名调用 → 7 处编译错误(行 95/113/121/140 调 balance(7L,null)、169/189/202 调 logs(7L,null,1,20),控制器现为 balance(userId) 单参 / logs(userId,page,size) 三参)→ mvn -o -B -f cfc-backend/pom.xml -DskipTests=false -Dtest='HealthReportControllerCreateReportTest,DanAssessmentControllerGetActiveMaterialTest,TrainingPlanControllerGetPlanDetailTest' test @ testCompile BUILD FAILURE;全模块 1474 @Test + 16 契约测试(历史 8 轮全绿)全部零执行,4 个 YELLOW 键(createReport/getActiveMaterial/getTree/mapLegacyCode)复验收口亦被连带阻断。优先级 P0(阻断全模块测试验证)。建议研发:改测试 7 处调用(balance(7L) / logs(7L,1,20))或回退 44b2f0d42 |
测试(01:36 复跑确认补登记) | 2026-11-05 01:36 | 已解除(03:30 复验确认):研发负责人1 正式修复 37f29a5df(2026-11-05 02:30,移除 7 处多余 null 实参与 balance(userId)/logs(userId,page,size) 对齐)已推 origin/cfclub 且 merge-base --is-ancestor 核验通过;测试侧 03:30 在远端基线复跑:testCompile 205 源 0 错、16 契约测试(createReport 5 + getActiveMaterial 3 + getPlanDetail 8)16/16 全绿、CfBalanceControllerTest 8/8 绿(含在全量 204 类/1528 例 91.88% 基线,02:50 批次全量实跑)。复验通道恢复,2 个 YELLOW 键(getActiveMaterial/createReport)测试复验通过 |
| B-11 | /api/cf 三端点删除(待确认意图) |
研发 | 44b2f0d42(11-05 00:31,chore(sync) 工作区 WIP 收尾)删除 /api/cf/stats、/api/cf/family-summary、/api/cf/promotion-earnings 及前端 3 个封装(-210 行)。全套 1528 例零转红,即删除行为无任何用例可证伪。该提交标题为"遗留 WIP 收尾同步",具备误覆盖特征。需研发确认:有意精简 / 误覆盖 → 前者补 API_REFERENCE.md 下线记录,后者 revert 并补 3 端点用例 |
测试(36 轮巡检登记) | 2026-11-05 02:48 | 待处理 |
| B-12 | 3 类 20 个 @Test 长期 @Disabled |
研发/测试 | DataMigrationServiceTest(11,依赖 sfms 数据源)、TaskServiceMinigameTest(5,依赖硬编码 userId=1L)、TeacherLoginTest(4,依赖硬编码手机号,测试间数据污染) 均类级 @Disabled;台账 @Test 1545 与实际执行 1528 差 17 例。根因统一为测试数据夹具缺失。需建 seed 脚本/@Sql 夹具后解禁。口径精确化(37 轮):注解 1545 − 20(3 类 @Disabled 内注解)+ 3(surefire 为每个禁用类仍记 1 条 skipped 占位)= 1528,误差 0;已逐类排除「参数化展开」假设(全仓参数化类 注解数=执行数)。 |
测试(36 轮登记/37 轮精确化) | 2026-11-05 02:48 | 待处理 |
| B-13 | 3 个 @SpringBootTest 类硬编码 127.0.0.1:3306(环境红根因) | 研发/环境 | AdminFamilyOverviewControllerTest.java:21-22、service/FamilyAdminOverviewServiceTest、service/UserServiceFamilyNameLinkTest 三处 @SpringBootTest(properties={"spring.datasource.url=jdbc:mysql://127.0.0.1:3306/zxyj…"}) 硬编码本机 MySQL;本机无 MySQL → Connection refused → Failed to load ApplicationContext,8 例每轮必红(37 轮实测异常链:BeanCreationException → primaryDataSource → HikariPool$PoolInitializationException → CommunicationsException → ConnectException)。全仓 grep -rl 127.0.0.1:3306 src/test 命中恰好这 3 类。非池压力(37 轮 Too many connections 出现 0 次)。建议:改 @ActiveProfiles("test") + src/test/resources/application-test.yml 统一指向 192.168.16.251 测试库(池上限 4)。 |
测试(37 轮巡检登记) | 2026-11-05 05:30 | 待处理 |