vitest

vitest

热门

Vitest API 与配置参考指南(兼容 Jest)—— 涵盖 vi.* Mock 模拟、Spies 侦听器、伪造定时器(Fake Timers)、代码覆盖率配置、Fixtures 测试固件、快照测试以及测试用例筛选等内容。适用于 Monorepo 中任意模块的 Vitest API 和配置相关疑问;若涉及 Studio 专属的测试策略与组件测试搭建,请先参阅 studio-testing 和 studio-mock-api-tests。

11万Star
1.3万Fork
更新于 2026/8/6
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