SuperAPI AI 工具集

unit-testing

测试与质量

查看项目

更新于 10-15 23:33

技能介绍

用途:为前端和后端代码编写或审查单元测试时提供模式指导,也可用于重构既有测试套件,关注覆盖率、隔离性与结构。

主要能力:

  1. AAA 模式(Arrange-Act-Assert),每个测试用空行分隔三个阶段。
  2. 测试隔离:用 beforeEach 为每个测试创建全新实例,避免测试间共享可变状态导致顺序依赖。
  3. 一个概念一个断言:同一结果的不同侧面可多次 expect;测试名写成 should <expected> when <condition> 的规格式命名。
  4. Mock 边界:只 mock I/O(仓库、HTTP、文件系统、时钟),不要 mock 正在测试的逻辑本身。
  5. 正负断言并重:既验证应发生的结果,也验证无效输入被拒绝、失败时无副作用(如 expect(repo.save).not.toHaveBeenCalled())。
  6. 决策树:React 组件委派给 react-testing-library 技能;纯函数无需 mock;有依赖的服务通过 jest 技能 mock I/O;每个行为一个 it,错误处理单独成例。
  7. 边界处理:异步必须 await,时间相关逻辑用 fake timers;为 else、catch、default 分支补测试;只测公共 API;共享工厂函数放入 test/helpers/;随机数据需设种子或冻结 Date.now()。

使用方式:按检查清单执行——每个测试遵循 AAA;测试之间无顺序依赖;mock 限于 I/O 边界;命名描述性;beforeEach 建新实例、afterEach 恢复 mock;错误与边界路径有专门用例;测试文件与源码同目录,命名为 <module>.test.ts。

适用场景:编写或审查前后端单元测试、重构测试套件。

限制:不适用于 Jest 语法与 mock API(委派 jest 技能)、React 组件查询(委派 react-testing-library 技能),也不覆盖集成或 E2E 测试策略。资料未提供安装命令、收费与平台信息。