SuperAPI AI 工具集

typescript-testing

编程与开发

查看项目

更新于 10-16 05:46

技能介绍

用途:为 TypeScript 项目提供 Vitest 测试设计与质量标准,适用于编写单元测试、集成测试及在 CI/CD 中自动执行的测试。

主要能力:规定测试框架为 Vitest,导入方式为 import { describe, it, expect, beforeEach, vi } from 'vitest',mock 使用 vi.mock()。质量要求包括:单元测试覆盖率不低于 70%(统计语句、分支、函数、行),测试相互独立、环境无关且结果可复现,测试代码与生产代码同等可读。

测试类型:单元测试验证单个函数或类行为并 mock 全部外部依赖;集成测试验证多组件协作,使用真实依赖(数据库、API 等);E2E 中需对新功能做跨功能验证,覆盖设计文档“集成点图”中高、中影响级别的集成点,验证模式为“既有功能运行→启用新功能→验证既有功能连续性”,成功标准为响应内容不变、处理时间在 5 秒内。

实现约定:单元测试文件命名为 {target-file-name}.test.ts,集成测试为 {target-file-name}.int.test.ts,置于 tests 目录。建议保持所有测试始终启用,避免 test.skip() 或注释掉,无用测试应直接删除。断言使用字面量期望值而非复刻实现逻辑,验证结果而非调用顺序或次数,每个测试至少包含一个断言。仅 mock 直接外部 I/O 依赖,间接依赖使用真实实现。验证不变量或属性时可使用 fast-check 做属性测试,条件是设计文档中 AC 标注了 Property。mock 类型安全上优先使用 Pick 等最小类型定义,仅在必要时用 as unknown as 并说明理由。

数据层限制:mock 只能验证调用模式,无法发现 schema 不匹配、查询正确性、数据库约束与迁移漂移等问题。mock 适用于测试接收数据层数据的业务逻辑、错误处理路径及数据访问作为依赖的单元测试;不足以测试仓储实现本身、查询正确性、数据完整性约束与迁移兼容性。真实数据库测试可选容器化数据库、内存数据库或带种子数据的专用测试库,具体取决于项目环境与 CI/CD 能力。AI 生成的数据访问代码存在 schema 幻觉风险,设计文档应包含明确 schema 引用以便评审时交叉核对。

限制:资料未提供安装命令、具体配置项、价格与平台支持信息。