关于 vitest
这是面向 JavaScript 和 TypeScript 开发者、介绍 Vite 驱动的测试框架 Vitest 的技能。内容涵盖配置、测试 API、CLI,以及模拟、覆盖率和并行执行等功能。
主要功能
- 01原生使用 Vite 测试转换流程
- 02兼容 Jest 的测试 API
- 03仅重跑受影响测试的监视模式
- 04原生支持 ESM、TypeScript 和 JSX
- 05并行工作线程与覆盖率工具
- 06快照、模拟和间谍工具
适用场景
- 01测试 Vite 应用
- 02迁移现有 Jest 测试套件
- 03编辑时重跑受影响的测试
- 04检查覆盖率与测试快照
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ marcioaltoe/ skills --skill vitest安装后在 Claude Code 中输入/vitest确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
GENERATION.mdreferences/advanced-environments.mdadvanced-projects.mdadvanced-type-testing.mdadvanced-vi.mdcore-cli.mdcore-config.mdcore-describe.mdcore-expect.mdcore-hooks.mdcore-test-api.mdfeatures-benchmarking.mdfeatures-concurrency.mdfeatures-context.mdfeatures-coverage.mdfeatures-filtering.mdfeatures-mocking.mdfeatures-reporters.mdfeatures-snapshots.mdfeatures-test-tags.md详细介绍
Vitest 是由 Vite 驱动的下一代测试框架。它提供与 Jest 兼容的 API,并开箱即用地支持原生 ESM、TypeScript 和 JSX。Vitest 与 Vite 应用共享相同的配置、转换器、解析器和插件。
主要功能:
- 原生支持 Vite:使用 Vite 的转换流水线,实现类似 HMR 的快速测试更新
- 兼容 Jest:可直接替换大多数 Jest 测试套件
- 智能监视模式:根据模块图,仅重新运行受影响的测试
- 无需配置即可原生支持 ESM、TypeScript 和 JSX
- 多线程工作进程,支持并行执行测试
- 内置通过 V8 或 Istanbul 实现的覆盖率统计
- 快照测试、模拟和间谍工具
此技能基于 Vitest 5.1.0-beta.1,于 2026-10-23 生成。
核心
| 主题 | 描述 | 参考 |
|---|---|---|
| 配置 | Vitest 与 Vite 配置集成、defineConfig 用法 | core-config |
| CLI | 命令行界面、命令和选项 | core-cli |
| 测试 API | test/it 函数,以及 skip、only、concurrent 等修饰符 | core-test-api |
| Describe API | 使用 describe/suite 对测试和嵌套测试套件分组 | core-describe |
| Expect 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 |
| 测试标签 | 为测试添加标签,以筛选运行并应用共享选项 | features-test-tags |
| 报告器 | 内置报告器、默认选择、CI/输出配置 | features-reporters |
| 基准测试 | 使用 bench 夹具(Tinybench)编写基准测试 | features-benchmarking |
进阶
| 主题 | 描述 | 参考 |
|---|---|---|
| Vi 工具 | vi 辅助工具:mock、spyOn、伪计时器、hoisted、waitFor | advanced-vi |
| 环境 | 测试环境:node、jsdom、happy-dom、自定义环境 | advanced-environments |
| 类型测试 | 使用 expectTypeOf 和 assertType 进行类型级测试 | advanced-type-testing |
| 项目 | 多项目工作区、为每个项目使用不同配置 | advanced-projects |
评论
支持 Markdown