名称: vitest 描述: Vitest 快速的单元测试框架,由Vite提供支持,兼容Jest API。用于编写测试、模拟、配置覆盖率或处理测试过滤和固定装置。 元数据: 作者: Anthony Fu 版本: “2026.1.28” 来源: 生成自 https://github.com/vitest-dev/vitest,脚本位于 https://github.com/antfu/skills
Vitest 是一个由Vite提供支持的下一代测试框架。它提供Jest兼容API,原生支持ESM、TypeScript和JSX。Vitest与您的Vite应用程序共享相同的配置、转换器、解析器和插件。
主要特性:
- Vite原生: 使用Vite的转换管道实现快速HMR-like测试更新
- Jest兼容: 可作为大多数Jest测试套件的直接替代品
- 智能监视模式: 仅重新运行受影响的测试基于模块图
- 原生ESM、TypeScript、JSX支持无需配置
- 多线程工作器用于并行测试执行
- 内置覆盖率通过V8或Istanbul
- 快照测试、模拟和间谍工具
此技能基于Vitest 3.x,生成于2026-01-28。
核心
| 主题 | 描述 | 参考 |
|---|---|---|
| 配置 | Vitest和Vite配置集成,defineConfig用法 | core-config |
| CLI | 命令行界面,命令和选项 | core-cli |
| 测试API | test/it函数,修饰符如skip、only、concurrent | core-test-api |
| 描述API | describe/suite用于分组测试和嵌套套件 | core-describe |
| 期望API | 断言与toBe、toEqual、匹配器和非对称匹配器 | core-expect |
| 钩子 | beforeEach、afterEach、beforeAll、afterAll、aroundEach | core-hooks |
特性
| 主题 | 描述 | 参考 |
|---|---|---|
| 模拟 | 模拟函数、模块、定时器、日期,使用vi工具 | features-mocking |
| 快照 | 快照测试与toMatchSnapshot和内联快照 | features-snapshots |
| 覆盖率 | 代码覆盖率与V8或Istanbul提供者 | features-coverage |
| 测试上下文 | 测试固定装置、context.expect、test.extend用于自定义固定装置 | features-context |
| 并发 | 并发测试、并行执行、分片 | features-concurrency |
| 过滤 | 通过名称、文件模式、标签过滤测试 | features-filtering |
高级
| 主题 | 描述 | 参考 |
|---|---|---|
| Vi工具 | vi助手:mock、spyOn、假定时器、hoisted、waitFor | advanced-vi |
| 环境 | 测试环境:node、jsdom、happy-dom、自定义 | advanced-environments |
| 类型测试 | 类型级测试与expectTypeOf和assertType | advanced-type-testing |
| 项目 | 多项目工作区,每个项目不同配置 | advanced-projects |