SuperAPI AI 工具集

jest-vitest

测试与质量

查看项目

更新于 10-16 00:03

技能介绍

用途:在编写或改进 JavaScript/TypeScript 单元测试时提供指导,适用于 Jest 与 Vitest 两大主流框架。两者共享 describe/it/expect 词汇,知识可迁移;Vitest 复用 Vite 转换管线,对已使用 Vite 的项目更快。

主要能力:覆盖测试结构(Arrange-Act-Assert)、Mock 策略(vi.fn/jest.fn、vi.spyOn、vi.mock)、异步模式(Promise、假定时器、事件)、快照测试、React 组件测试(@testing-library)以及覆盖率分析。核心原则包括测试行为而非实现、每个测试只验证一个行为概念、在边界处 Mock、保持测试快速。

使用方式:触发场景包括编写或审查单元测试、提及 Jest/Vitest/describe/it/expect/beforeEach、需要 Mock 模块或依赖、询问快照测试、配置测试运行器、用 @testing-library 测试 React 组件、询问覆盖率或从 Jest 迁移到 Vitest。配置示例中 Vitest 使用 vitest.config.ts 设置 environment、globals、setupFiles 与 coverage 阈值;覆盖率命令为 npx vitest run --coverage 或 npx jest --coverage。快照更新使用 npx vitest --updateSnapshot。

适用场景:JavaScript/TypeScript 项目的单元测试与组件测试。不适用于端到端或浏览器自动化测试(应使用 Playwright/Cypress),也不适用于静态分析或 lint。

限制与注意事项:vi.mock 调用会被提升但导入不会,Mock 返回值应在 beforeEach 或测试体内配置;jsdom 环境下 Node API 可能静默为 undefined;假定时器需在 afterEach 恢复;避免对 React 组件使用 toMatchSnapshot;区分 clearAllMocks、resetAllMocks 与 restoreAllMocks。首次激活时会检查配套技能,缺失时可用 npx skills add AbsolutelySkilled/AbsolutelySkilled --skill <name> 安装。