name: vitest description: 用于编写 Vite 项目的单元/集成测试 - 提供 Vitest 配置、测试 API、模拟模式和覆盖率设置 license: MIT
Vitest
Vite-native 测试框架,兼容 Jest API。
何时使用
- 编写 Vite 项目的单元/集成测试
- 测试 Vue/React/Svelte 组件
- 模拟模块、计时器或日期
- 运行并发/并行测试
- 使用 TypeScript 进行类型测试
快速开始
npm i -D vitest
// vitest.config.ts
import { defineConfig } from 'vitest/config'
export default defineConfig({
test: {
globals: true,
environment: 'node', // 或 'jsdom' 用于 DOM 测试
},
})
// example.test.ts
import { describe, expect, it, vi } from 'vitest'
describe('math', () => {
it('adds numbers', () => {
expect(1 + 1).toBe(2)
})
})
参考文件
| 任务 | 文件 |
|---|---|
| 配置、CLI、项目 | config.md |
| test/describe、钩子、固件 | test-api.md |
| vi.fn、vi.mock、计时器、间谍 | mocking.md |
| expect、快照、覆盖率、过滤 | utilities.md |
| 环境、类型测试、浏览器模式 | advanced.md |
加载文件
根据您的任务考虑加载这些参考文件:
- [ ] references/config.md - 如果设置 vitest.config.ts、CLI 或工作区项目
- [ ] references/test-api.md - 如果编写 test/describe 块、使用钩子或测试固件
- [ ] references/mocking.md - 如果模拟模块、计时器、日期或使用间谍
- [ ] references/utilities.md - 如果编写断言、快照或配置覆盖率
- [ ] references/advanced.md - 如果配置测试环境、类型测试或浏览器模式
不要一次性加载所有文件。 只加载与您当前任务相关的文件。
跨技能引用
- Vue 组件测试 → 使用
vue技能获取组件模式 - 库测试 → 使用
ts-library技能获取库模式 - Vite 配置 → 使用
vite技能获取共享配置