c83c4eb25(HEAD)| 模块 | 技术栈 | 实测动作 | 结果 |
|---|---|---|---|
cfc-backend |
Spring Boot 2.7.18 + MyBatis-Plus + Java 8 | mvn -o test(离线) |
❌ 编译失败,套件不可执行 |
cfc-web |
Vue2 + Element UI 管理端(Jest) | jest(axios-mock-adapter mock API) |
✅ 12 套件 / 90 用例全绿 |
cfc-frontend |
uni-app 小程序 | 不在本任务范围(仅说明) | — |
tests/e2e |
Playwright | 内网 /admin、/frontend |
⚠️ 降级(无凭据,待核实登录态) |
说明:本环境
cfc.iwintrue.com经 hosts 解析至内网192.168.16.251,探活/返回 404(Spring 健康窗),内网可达;/admin、/frontend返回 302(跳转登录),需身份认证。
| 维度 | 总数 | 通过 | 失败 | 备注 |
|---|---|---|---|---|
| cfc-web Jest(单元/组件) | 90 | 90 | 0 | 12 套件,JEST_EXIT=0,全程 mock API,不断言真实服务端行为 |
| cfc-backend 单元测试/集成测试 | — | — | — | BUILD FAILURE(testCompile 阶段中断),0 用例执行 |
| E2E Playwright(/admin、/frontend) | — | — | — | 未执行,降级为测试设计(见第 8 节) |
| 维度 | 覆盖率 | 数据来源 / 状态 |
|---|---|---|
| cfc-web | 未采集 | 本次未带 --coverage;mock API 测试覆盖率参考意义有限 |
| cfc-backend | 不可测 | 套件编译失败,无法生成 JaCoCo 报告 |
| 历史基线(11-04 引用) | 86.7% / 1512 例 | ⚠️ 已失效:该基线为历史复用值,本次实测证明当前后端测试源码无法编译,不可复现 |
docs/tdd/SRS.md、docs/需求分析/、docs/superpowers/specs/ 零提交(git log --since 为空)。c83c4eb25,后续轮次将基于此检测增量并编写。| 要素 | 内容 |
|---|---|
| ① 问题描述 | cfc-backend 执行 mvn test 在 testCompile 阶段 BUILD FAILURE,整套后端单元/集成测试零执行,覆盖率与通过率不可测;历史"86.7%/1512 例"基线失效。 |
| ② 测试 bug 点 | cfc-backend/src/test/java/com/etotem/cfc/unit/CfBalanceControllerTest.java 共 7 处:行 95, 113, 121, 140, 169, 189, 202。 |
| ③ 最优修改方案 | 测试仍按旧签名调用——controller.balance(7L, null)(2 参)、controller.logs(7L, null, 1, 20)(4 参);而生产 CfBalanceController.java 已重构为 balance(@RequestAttribute("userId") Long userId)(行 55)与 logs(Long userId, @RequestParam Integer page, @RequestParam Integer size)(行 67),memberId 改为内部 resolveMemberId 解析、page/size 改为 @RequestParam。修复:将测试调用改为 controller.balance(7L) 与 controller.logs(7L, 1, 20)(删除第二个 null 实参),其余断言不变。若认定生产签名属误改,则逆改生产。 |
| ④ 修改目的 | 恢复后端测试套件可编译、可运行,使覆盖率与通过率可度量,消除测试/生产契约漂移(test-source drift)。 |
| ⑤ 问题闭环 | 修改后 mvn -o test 编译通过且 CfBalanceControllerTest 全绿;通过标准:BUILD SUCCESS 且该测试类 0 失败。 |
| 要素 | 内容 |
|---|---|
| ① 问题描述 | 本次实测 cfc-web 仅 12 套件 / 90 用例全绿,与历史引用"14 套件 / 296 用例"不符,存在覆盖率/范围缺口疑点。 |
| ② 测试 bug 点 | cfc-web/package.json test 脚本(jest);cfc-web/src/**/__tests__/*.test.js\|*.spec.js 共 12 文件。 |
| ③ 最优修改方案 | 核对 jest config 的 roots/testMatch 与历史 296 用例出处(是否曾含 cfc-frontend 或已删除套件),确认当前 12/90 是否为应覆盖全集。 |
| ④ 修改目的 | 确保前端测试资产完整、口径一致,避免"假性全绿"掩盖漏测。 |
| ⑤ 问题闭环 | 出具套件清单对账表,确认无遗漏套件后闭环;若确为历史口径错误则在台账更正。 |
| 要素 | 内容 |
|---|---|
| ① 问题描述 | 历史 E2E 长期 3 红:nonfunc-perf-compat.spec.js 46003 会员门禁、nonfunc-security.spec.js:75/77 后台未授权返 code=500(应 401/403)、:121/131 上传非 PDF 未拒。本轮因无凭据未重验,列为待核实。 |
| ② 测试 bug 点 | tests/e2e/nonfunc-perf-compat.spec.js:99、`tests/e2e/nonfunc-security.spec.js:75/77、:121/131。 |
| ③ 最优修改方案 | 46003:测试环境置 ai.coach.member_gate_enabled=false 或改用 FAMILY/PREMIUM 账号;未授权返 500:后端鉴权异常统一为 401/403;上传校验:增加非 PDF/恶意内容 4xx 拒绝。 |
| ④ 修改目的 | 收敛安全契约缺口与产品意图漂移导致的测试期望滞后。 |
| ⑤ 问题闭环 | 提供 E2E 凭据注入机制后实跑,3 红转绿或给出产品侧合理解释。 |
mvn -o test 取真实值。/admin、/frontend。proxy_read_timeout 60s < AiGateway 300s,与本次范围无关,列此备查。c83c4eb25 之后若再有提交,下一轮将触发测试用例编写。/admin(管理端 SPA):登录态注入(环境变量/本地配置,禁止明文)→ 登录后校验左侧菜单/路由守卫 → 关键业务页(用户、订单、文章、维度配置)CRUD 冒烟 → 未授权访问应 401/403(对应 P3 红用例)。/frontend(C 端):登录态注入 → 首页/健康/商城/家庭核心流冒烟 → 上传报告 PDF 校验(非 PDF 应 4xx,对应 P3 红用例)→ AI 教练会员门禁(会员账号或关开关,对应 46003)。npm audit 联网)、性能压测(打到远端)、Playwright 从公网安装浏览器 → 均未执行。dependency-check;压测建议对本地回环 9082 起服务后限流自测,避免打生产内网。⛔ 不通过(有条件)
CfBalanceControllerTest.java 7 处签名漂移,mvn -o test 达 BUILD SUCCESS 并产出真实覆盖率/通过率;/admin、/frontend,3 红用例有明确结论(转绿或产品侧解释);c83c4eb25 检测到 SRS/需求增量时,按时编写/更新测试用例。本闭环全程只读 + 本地测试 + 测试目录内零改动(未修改生产源码、未提交、未推送)。凭据、密钥、令牌均未在报告/日志中落地。