SuperAPI AI 工具集

testing

测试与质量

查看项目

更新于 10-15 22:38

技能介绍

用途:为 AionUI 项目提供编写和运行测试的标准与工作流,要求每个功能都必须被测试。触发场景包括:为新功能或缺陷修复编写测试、新增功能(必须附带测试)、修改已有测试覆盖的逻辑(必须同步更新)、在宣称工作完成前、以及提交代码前。

主要能力与结构:使用 Vitest 4,配置位于 vitest.config.ts。测试目录分为 unit(单个函数、工具、组件)、integration(IPC、数据库、服务交互)、regression(回归用例)和 e2e(端到端,使用 Playwright,配置为 playwright.config.ts)。提供两种测试环境:node(默认,用于主进程、工具、服务,文件命名 *.test.ts)和 jsdom(用于依赖 DOM/浏览器的代码,文件命名 *.dom.test.ts)。

使用方式:先识别风险最高的场景(依赖返回 undefined 或抛错、边界值如空列表、最大重试、过期时间戳、生产中最易出问题的部分),再编写测试。质量规则包括:描述行为而非代码结构;每个 describe 块至少覆盖一条失败路径;每个测试只验证一种行为,单个 it() 中超过 3 个 expect() 说明测试过多;写完后自检,若删掉被测核心逻辑测试仍能通过则需重写;从风险出发而非从覆盖率缺口出发。运行命令:bun run test(每次提交前必须运行)、bun run test:coverage(开 PR 前检查覆盖率)。覆盖率目标为 vitest.config.ts 中 coverage.include 匹配的所有源文件不低于 80%(当前为 src/**/*.{ts,tsx} 及少量脚本),新源文件自动纳入覆盖率,若被 coverage.exclude 误排除需移除该规则。修改逻辑时用 bun run test -- --reporter=verbose 查看测试通过/失败情况,行为有意变更则更新测试,意外失败则排查。

边界检查清单:null/undefined 输入、空数组或对象、依赖抛错、边界值(0、-1、最大值、空字符串)、异步操作(超时、拒绝、取消)。提交前检查:新功能有对应用例、修改逻辑有更新测试、bun run test 通过、测试描述行为、每个 describe 至少一条失败路径、新源文件未被误排除、覆盖率达标。常见错误包括测试实现细节、只测正常路径、单个 it() 中 5 个以上 expect、跳过“简单”代码的测试、在说“完成”后才写测试。

限制:资料未提供该技能的具体安装方式、依赖版本细节、平台支持范围及收费信息。