返回 Bug 清单
BUG-0381project-07中已修复test
脆 mock 测试长期红着没人修 —— mock 了被测行为本身,12→10 failed 成为背景噪音
发现:2026-10-01验证:2026-10-09置信度:90%
症状
测试套件长期 10+ failed,团队默认『红是正常的』;真回归被淹没在固定红里,CI 信号彻底失效。
根因
① mock 了被测依赖的底层平台行为(localStorage mock 与实现语义不符);② 测试对象已被删除却保留(过时资产);③ 集成测试直连外部服务(不确定性);④ 红着不修没有止损机制,噪音被制度化。
修复方案
1) 处置三选一:修好 / 删除 / skip 加注释与 issue 链接,禁止长期红;
2) 网络类测试一律 mock HTTP 层(msw)而非直连真实服务;
3) vitest 按场景选 pool(forks 规避 worker 泄漏),fake timer 场景隔离;
4) 红灯即门禁:failed 数量大于 0 不许合入。
检测命令
跑一遍测试统计 failed 数与红龄;grep setup 文件中的全局 mock 是否改变平台语义错误签名
setup.ts 错误 mock 掉 localStorage、api.test.ts 测的是早已删除的接口形态、部分测试直连真实服务器 flaky、fake timer 与 useDebounce 冲突技术信息
来源项目
project-07
标签
testing, brittle-mock, flaky, ci-hygiene, fake-timer