Skip to content

[P1] 前端测试补债:shared/workbench 核心 store/hook/util 单元测试 #1764

Description

@DeliciousBuding

背景

前端测试严重欠债:源文件 26790 个 vs 测试文件 347 个(ratio ≈ 0.01),而 Go 侧是 0.59-0.66。最大的风险面 app/shared(112K LOC)覆盖最薄,尤其 workbench 的 stores/hooks/utils 大多裸奔(如 workbenchTranscriptChromeActionMappersUnifiedComposer 仅有部分覆盖)。

方案

不追求与 Go 等比例,优先补纯逻辑、高复用、易回归的层:

  1. workbench store(状态机/reducer)——纯函数,最易测、收益最高
  2. workbench/transcript 的 util 与 action mapper
  3. shared/hub 的数据转换 hook

每个目标模块:先列现有覆盖缺口(vitest --coverage),再补到关键分支覆盖。

依赖 / 阻塞

  • 无阻塞,可与 Lane B 并行。
  • 建议以 vitest --coverage 的 workbench 子目录覆盖率为 ratchet 基线,只升不降。

风险

  • 低:新增测试,不改产品代码。注意不要为凑比例写无断言价值的测试。

验收

  • workbench store 关键 reducer/selector 有单元测试
  • workbench 子目录行覆盖率较基线有可测提升(记录前后数值)
  • pnpm -C app/shared test 全绿,无 flaky

Metadata

Metadata

Assignees

No one assigned

    Labels

    P1High priorityjavascriptPull requests that update javascript codelane-DParallel lane D

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions