SuperAPI AI 工具集

testing-best-practices

测试与质量

查看项目

更新于 10-15 15:50

技能介绍

用途:这是一套面向 AI 编程助手的测试规则集,共 40+ 条,供在编写、审查或生成测试时遵循。规则仅适用于单元、集成、组件、微服务与 API 测试,不适用于跨进程与组件的端到端测试;若测试未 Mock 后端,则属于端到端测试,应改用 references/e2e-testing-rules.md 中的规则。

主要能力:核心目标是让测试保持简单、干净、一致且简短,避免测试本身成为需要维护的另一个系统。六条最关键规则包括:测试不超过 10 条语句;只保留直接影响结果的细节;禁止 if/else、循环、try-catch、console.log 等非扁平语句;在测试范围内覆盖被测代码各层,只 Mock 调用外部系统的部分,不 Mock 应用内部;断言中的每个数据或假设必须先在 Arrange 阶段出现(“冒烟枪原则”);每个测试自包含,不依赖其他测试的状态或产物。

规则分组:A 测试结构(标题用 When…then… 模式、至少 Arrange/Act/Assert 三阶段、断言不超过 3 条、断言只出现在 Assert 阶段等);B 测试逻辑(无冗余断言、不测实现细节、避免时间等待、beforeEach 清理泄漏状态);C 测试数据(用数据工厂构建实体、支持字段覆盖、用 faker 生成真实感数据、列表默认放两项);D 断言(用内置 expect API、最小化断言数量、优先完整对比的匹配器);E Mock(只 Mock 外部协作者、使用被 Mock 代码的类型、在测试文件内定义并重置 Mock、HTTP 优先用 MSW/Nock 拦截);F DOM 测试(只用 ARIA 角色/标签定位、不用 test-id 与位置选择器、用可自动重试断言);G 数据库测试(验证副作用、用类型匹配器校验自动生成字段、用公共 API 断言状态、测试数据不共享);I 测什么(额外一英里原则、故意纵火原则)。

使用方式:将规则作为 AI 助手生成或审查测试时的约束;发现测试问题时指出所违反的条目编号。资料未提供安装命令或具体接入步骤。

限制:不适用于端到端测试;部分条目带 #customize 标记,可按需定制;资料未说明收费、平台或效果数据。