SuperAPI AI 工具集

node-testing

测试与质量

查看项目

更新于 10-16 03:14

技能介绍

用途:为 Node、TypeScript、React 项目构建可靠的单元与集成测试基础设施,解决模型默认套用旧版 Jest、写覆盖率报告却无人把关、把组件测试拖成不稳定伪 E2E 等问题。

主要能力:按 references/testing-playbook.md 的决策表选择运行器,非平凡场景用 Vitest(原生 TS/JSX、watch、快照、mock、React),纯 Node 零依赖库可用 node:test(需说明 TS loader、watch 与快照体验较弱等权衡);Jest 迁移默认走 Vitest(多数套件 API 兼容);编写显式配置,不依赖版本默认值,涵盖 environment(node/jsdom/browser 模式及取舍)、globals 策略与 setup 文件;以 v8 覆盖率为门禁,设置显式阈值使未达标时运行失败,并主张用 PR 增量纪律而非追求全局虚荣数字;React 侧使用 React Testing Library 与 user-event,按角色与文本测行为而非实现细节;mock 只作用于网络、时钟、文件系统等边界,不 mock 内部模块。

使用方式:由技能指导选择运行器并给出书面理由,提交显式配置,接入会产生失败的覆盖率阈值,至少写一个真实测试(渲染真实组件或跑通真实模块),接好 test、test:coverage 脚本,必要时套用 flaky 分类清单。

适用场景与限制:面向单元与集成测试;E2E 与真实浏览器流程不在范围内,应交给 Playwright;lint 见 node-lint,tsconfig 见 node-typescript,GitHub Actions 的作业与矩阵配置见 node-ci(该技能只定义跑什么)。注意 jsdom 不是浏览器,依赖真实布局、导航或 worker 的场景应走 Playwright;vi.mock 会被提升,工厂函数引用外部变量会静默出错;使用 --changed 过滤后通过不算全套通过,合并需以完整运行为准。原文未提供价格等信息。