主理人:陆谨(软件测试专家团)|执行档:review(已授权内网 cfc.iwintrue.com,不联网,不提交不推送) 触发:定时自动化(每小时)· @skill TDD 多智能体研发测试调度 工作区:d:/cfc | 当前 HEAD =
345cf745e(05:40)| 需求闸门基线 =c83c4eb25(01:40 建立)
65af4ec7e)→ ⛔不通过(有条件);后端 1528 用例 / 1408 通过 / 71 失败 / 49 错误 / 4 跳过;E2E 无凭据降级;SRS 零变更跳过编写。65af4ec7e 起零变更 → 复用 04:30 实测;cfc-web Jest 连续多轮 12/90 全绿;需求文档仍零变更 → 编写闸门仍关闭。| 模块 | 动作 | 备注 |
|---|---|---|
| cfc-web | npm test(Jest,CI 模式,mock API) |
12 套件 / 90 用例 |
| cfc-backend | mvn -o test-compile 复验 + 复用 04:30 mvn -DskipTests=false test 实测 |
源码自 65af4ec7e 零变更 |
| 内网 E2E | 探活 cfc.iwintrue.com/admin、/frontend(Playwright 1.63.0 已装,无现成脚本) | 仅探活,不重启远端 |
| 测试用例编写 | SRS/PRD/API 变更闸门检测 | 写入测试目录,不碰生产源码 |
axios-mock-adapter mock API,不访问真实服务,不据此断言真实服务端行为。ProductPicker 组件测试有 Vue runtime warning(非失败,不影响结果)。mvn -o test-compile EXIT=0,205 测试源 0 错 → 编译健康,B-10 修复持续生效。65af4ec7e 零变更):用例 1528;PASS 1408 / FAIL 71 / ERROR 49 / SKIP 4;非通过 120(38 个失败类)。<skipTests>true(pom.xml:28),单独 mvn test 会跳过全部测试并报告成功,必须 -DskipTests=false。/admin → HTTP 302;/frontend → HTTP 302(服务可达,重定向至登录)。65af4ec7e)零变更 → 无新增失败用例、无覆盖率下降(覆盖率本就未测)。docs/tdd/SRS.md、需求文档 docs/需求分析/、docs/superpowers/specs/、docs/superpowers/api/API_REFERENCE.md 自基线 c83c4eb25 起 零提交(git log 核实,列表为空)。345cf745e,供下次变更检测对比。① 问题描述:后端 1528 用例中 120 非通过(71 fail + 49 error),集中于 38 个测试类,根因为测试按旧契约断言,与已重构生产代码不一致。
② 测试 bug 点:cfc-backend/src/test/**(38 个失败类;代表:状态码 500↔410/403/400/5001 断言、childId→memberId 术语、文案漂移、Mockito 误用);B-10 已修 CfBalanceControllerTest.java。
③ 最优修改方案:逐类对齐生产契约——更新期望状态码、字段名(memberId 替代 childId)、文案常量;修正 Mockito stub;优先高频契约类。
④ 修改目的:使后端套件真实可执行并达标,恢复回归门槛,避免"假绿/假红"误导发布。
⑤ 问题闭环:修复后 mvn -o -DskipTests=false test 达 BUILD SUCCESS(非通过=0)且后续每小时复验稳定;通过标准=全部套件 GREEN。
① 问题描述:3 个 @SpringBootTest 测试硬编码本地 DB 地址,在非 localhost 环境(CI/容器)必红,8 例环境耦合失败,掩盖真实代码质量。
② 测试 bug 点:cfc-backend/src/test/java/com/etotem/cfc/integration/controller/AdminFamilyOverviewControllerTest.java、.../service/FamilyAdminOverviewServiceTest.java、.../service/UserServiceFamilyNameLinkTest.java(硬编码 127.0.0.1:3306)。
③ 最优修改方案:用 @DynamicPropertySource + Testcontainers 或配置化数据源(从 application-test.yml 读取),移除硬编码 localhost。
④ 修改目的:消除环境耦合红,使测试在任意环境可复现,区分"环境红"与"代码红"。
⑤ 问题闭环:在隔离环境(非 127.0.0.1:3306)跑通这 3 类后 GREEN;通过标准=该 8 例在 CI 稳定通过。
① 问题描述:pom 默认 <skipTests>true,单独 mvn test 会跳过全部测试并报告成功,易误判"全绿"。
② 测试 bug 点:cfc-backend/pom.xml:28 <skipTests>true</skipTests>;surefire 引用 ${skipTests}(:232)。
③ 最优修改方案:CI 强制传 -DskipTests=false;或经研发确认将默认改为 false(仅构建不改测试结论)。
④ 修改目的:防止漏测被当成通过,保证实测真值。
⑤ 问题闭环:CI/本地均显式 -DskipTests=false 后跑出真实结果;通过标准=skipTests=false 下全量执行。
① 问题描述:内网服务可达(302 重定向),但本环境无登录凭据,无法实跑端到端用例,仅能产出测试设计。 ② 测试 bug 点:无现成 E2E 脚本(检索为空);无凭据注入机制。 ③ 最优修改方案:建立本地凭据注入机制(环境变量/加密配置,禁止明文落盘与提示词);补 E2E 脚本覆盖 /admin 登录后关键路径、/frontend 首页与核心流程。 ④ 修改目的:把内网可通达的服务纳入真实端到端验证,补非功能/验收层缺口。 ⑤ 问题闭环:提供凭据后实跑 Playwright 用例,关键路径全绿;通过标准=核心 E2E 用例稳定通过。
① 问题描述:pom 未集成 JaCoCo,无法采集行/分支覆盖率,覆盖门槛缺量化依据。
② 测试 bug 点:cfc-backend/pom.xml 无 jacoco 插件。
③ 最优修改方案:经研发确认后引入 JaCoCo(build 插件,不改测试结论),设定行/分支阈值门禁。
④ 修改目的:为覆盖矩阵提供量化数据,支撑门禁裁决。
⑤ 问题闭环:引入后 mvn test 产出 coverage 报告,覆盖率达阈值;通过标准=覆盖率≥既定门槛。
⛔ 不通过(有条件)
mvn -o -DskipTests=false test 达 BUILD SUCCESS;未实测项汇总:① 后端全量执行=复用 04:30 实证(源码未变,未复跑全量重型执行);② E2E 实跑=无凭据降级;③ 覆盖率=无 JaCoCo;④ 性能/安全/压测/漏洞=需联网未授权。