SuperAPI AI 工具集

vitest-v5

测试与质量

查看项目

更新于 10-15 17:27

技能介绍

用途:为 Vitest 5 提供测试编写与优化指南,覆盖测试编写、调试慢或易失败测试、配置测试环境、PR 测试代码审查、从 Jest 迁移以及优化 CI/CD 测试性能等场景。内容按影响优先级分为 8 类:异步模式(CRITICAL,async-)、测试准备与隔离(CRITICAL,setup-)、Mock 模式(HIGH,mock-)、性能(HIGH,perf-)、快照测试(MEDIUM,snap-)、环境(MEDIUM,env-)、断言(LOW-MEDIUM,assert-)、测试组织(LOW,org-),共 44 条规则。

前提假设:Vitest 5+(vitest ^5)、Node.js >= 22.12、Vite >= 6.4;迁移参考 https://vitest.dev/guide/migration/。vi.mock、vi.unmock 和 vi.hoisted 必须位于顶层,v5 中嵌套调用会抛错;clearMocks 默认为 true(每个测试前清除调用历史);test.sequential / describe.sequential / sequential 已移除,改用 concurrent: false 或 sequence: { concurrent: false }。

用法:按需查阅各参考文件,其中包含详细说明与代码示例,例如 async-await-assertions、mock-vi-mock-hoisting;分类结构见 Section definitions,新增规则见 Rule template,完整指南见 references/compiled.md。

限制与边界:不覆盖应用级 Playwright E2E,相关浏览器自动化见 playwright-v1,应用 E2E 约定属于使用方仓库规则;使用 inject() 的 HTTP 应用测试与数据库隔离(PGLite、*.spec.ts 与 *.test.ts 区分)属于使用方仓库关注点,应遵循项目的 Fastify 测试规则。相关技能:TDD 方法论见 test-tdd,MSW 接口 Mock 见 test-msw,TypeScript 测试模式见 typescript。