SKILL.md
只读
名称
vitest
描述
Vitest API 与配置参考指南(兼容 Jest)—— 涵盖 vi.* Mock 模拟、Spies 侦听器、伪造定时器(Fake Timers)、代码覆盖率配置、Fixtures 测试固件、快照测试以及测试用例筛选等内容。适用于 Monorepo 中任意模块的 Vitest API 和配置相关疑问;若涉及 Studio 专属的测试策略与组件测试搭建,请先参阅 studio-testing 和 studio-mock-api-tests。
Vitest 是基于 Vite 构建的下一代单元测试框架,开箱即用支持原生 ESM、TypeScript 和 JSX,并提供与 Jest 完全兼容的 API。此外,Vitest 还能直接共享 Vite 项目中的配置、转换器、解析器和插件。
核心特性:
- Vite 原生支持:复用 Vite 的转换流水线,实现媲美 HMR 的极速测试更新
- 兼容 Jest:可无缝替换绝大多数 Jest 测试套件
- 智能 Watch 模式:基于模块依赖图,仅重新运行受影响的测试
- 零配置支持原生 ESM、TypeScript 和 JSX
- 支持多线程 Worker 并发执行测试
- 内置覆盖率工具(支持 V8 和 Istanbul 引擎)
- 提供快照测试、Mock 模拟与 Spy 侦听实用工具
本 Skill 基于 Vitest 3.x,生成于 2026-01-28。
核心
| 主题 | 描述 | 参考文档 |
|---|---|---|
| 配置 | Vitest 与 Vite 配置集成、defineConfig 的用法 | core-config |
| 命令行(CLI) | 命令行界面、相关命令与选项 | core-cli |
| Test API | test/it 函数及 skip、only、concurrent 等修饰符 | core-test-api |
| Describe API | 用于套件分组与嵌套套件的 describe/suite | core-describe |
| Expect API | 包含 toBe、toEqual、断言匹配器与不对称匹配器的断言 API | core-expect |
| 生命钩子(Hooks) | beforeEach、afterEach、beforeAll、afterAll、aroundEach | core-hooks |
功能特性
| 主题 | 描述 | 参考文档 |
|---|---|---|
| Mock 模拟 | 使用 vi 工具包 Mock 函数、模块、定时器和日期 | features-mocking |
| 快照测试 | 使用 toMatchSnapshot 与内联快照(Inline Snapshots)进行快照测试 | features-snapshots |
| 代码覆盖率 | 基于 V8 或 Istanbul 提供者的代码覆盖率统计 | features-coverage |
| 测试上下文(Test Context) | 测试固件(Fixtures)、context.expect 及用于自定义 Fixtures 的 test.extend | features-context |
| 并发测试 | 并发测试、并行执行与分片(Sharding) | features-concurrency |
| 测试筛选 | 按名称、文件匹配模式、标签筛选测试用例 | features-filtering |
进阶技巧
| 主题 | 描述 | 参考文档 |
|---|---|---|
| Vi 辅助工具 | vi 工具函数:mock、spyOn、fake timers、hoisted、waitFor | advanced-vi |
| 测试环境 | 测试运行环境:node、jsdom、happy-dom 以及自定义环境 | advanced-environments |
| 类型测试 | 基于 expectTypeOf 与 assertType 的类型级测试 | advanced-type-testing |
| 多项目配置 | 多项目工作区(Multi-project Workspaces),为不同项目独立配置 | advanced-projects |






