SuperAPI AI 工具集

frontend-testing

测试与质量

查看项目

更新于 10-16 08:45

技能介绍

这是一份面向前端开发的测试技能指南,目标是让测试更贴近真实使用方式,从而提供更可靠的信心。

用途:指导如何为前端代码组织测试。核心原则是先写验证验收标准的测试,再在能带来价值时补充实现测试。验收测试验证系统是否满足用户与干系人的需求,重构时应保持稳定;实现测试验证边界情况、错误处理与复杂逻辑的健壮性,可能在重构时需要更新。应避免只镜像实现、不验证有意义行为的测试。

主要能力与流程:第一步,先识别代码从用户视角应该做什么,从工单、用户故事、Figma 标注、功能需求或产品负责人澄清中提取验收标准,并在阅读实现前先写验收测试,以防循环验证。第二步,把每条标准映射为测试用例,覆盖正常路径、边界情况与错误情况。第三步,补充单元测试,覆盖空值、未定义、空数组、边界值、算法正确性、错误处理路径与复杂分支。第四步,按场景选择测试类型:纯逻辑用 Vitest 单元测试;组件行为用 Vitest 加 Testing Library;用户流程用 Playwright 端到端测试;语义结构用 Playwright 的 toMatchAriaSnapshot;视觉外观用截图;无障碍合规用 Playwright 加 axe-core。第五步,先写或同步写测试,避免实现完成后才补。

使用方式与建议:定位器优先使用 getByRole,其次 getByLabelText、getByPlaceholderText、getByText、getByAltText,getByTestId 只作最后手段。单元测试的 DOM 环境优先 happy-dom 而非 jsdom。端到端测试可用 ARIA 快照把多个断言合并为一个。文档给出 Vitest 单元测试、Testing Library 组件测试、Playwright 端到端测试与 ARIA 快照的示例代码,以及用 Promise.all 并行断言的写法。

反模式:只测实现细节、循环验证(用实现计算期望值)、过度 mock、脆弱的 CSS 选择器。测试失败时不要条件反射地改测试,应先区分是验收测试还是实现测试,再判断是真实缺陷还是需求已变更。提交前有检查清单。

限制:资料未提供安装命令、具体版本要求、价格与平台支持信息,也未给出 skill 的安装或集成步骤,这些暂未提供。