快速起步
镜像自 Vitest 官方中文文档:https://cn.vitest.dev/guide/
总览
Vitest(发音为 "veetest")是由 Vite 驱动的下一代测试框架。
你可以在为什么是 Vitest中了解有关该项目背后的基本原理的更多信息。
在线试用 Vitest
你可以在 StackBlitz 上在线尝试 Vitest。它直接在浏览器中运行 Vitest,几乎与本地设置相同,但不需要在你的计算机上安装任何东西。
将 Vitest 安装到项目
npm install -D vitestyarn add -D vitestpnpm add -D vitestbun add -D vitestdeno add -D vitest提示
Vitest 需要 Vite >=v6.4.0 和 Node >=v22.12.0。
如果在 package.json 中安装一份 vitest 的副本,可以使用上面列出的方法之一。然而,如果更倾向于直接运行 vitest,可以使用 npx vitest(npx 会随着 npm 和 Node.js 一起被安装)。
Vitest 及第三方集成可使用 .vitest 目录存储构建产物,建议将其添加到你的 .gitignore 文件中:
# Vitest 报告与构建产物
.vitest/编写测试
例如,我们将编写一个简单的测试来验证将两个数字相加的函数的输出。
export function sum(a, b) {
return a + b
}import { expect, test } from 'vitest'
import { sum } from './sum.js'
test('adds 1 + 2 to equal 3', () => {
expect(sum(1, 2)).toBe(3)
})TIP
一般情况下,执行测试的文件名中必须包含 .test. 或 .spec.。
接下来,为了执行测试,请将以下部分添加到你的 package.json 文件中:
{
"scripts": {
"test": "vitest"
}
}最后,运行 npm run test、yarn test 或 pnpm test,具体取决于你的包管理器,Vitest 将打印此消息:
✓ sum.test.js (1)
✓ adds 1 + 2 to equal 3
Test Files 1 passed (1)
Tests 1 passed (1)
Start at 02:15:44
Duration 311msWARNING
如果使用 Bun 作为软件包管理器,请确保使用 bun run test 命令而不是 bun test 命令,否则 Bun 将运行自己的测试运行程序。
要运行一次测试而不监听文件变化,请使用 vitest run 命令。你也可以传递额外的参数,如 --reporter 或 --coverage。查看完整的 CLI 选项列表,运行 npx vitest --help 或参阅 CLI 指南。
配置 Vitest
Vitest 默认会读取你的 vite.config.* 文件,因此现有 Vite 插件和配置可以开箱即用。你也可创建专用的 vitest.config.* 文件来配置测试特定设置。详情请参阅配置。
IDE 集成
我们还提供了官方的 Visual Studio Code 扩展,以增强你使用 Vitest 的测试体验:
示例
官方示例仓库提供了多种场景的参考实现,包括 basic、vue、react、svelte、lit、preact、solid、qwik、marko、fastify、in-source-test、typecheck、projects、profiling 等,均可在 GitHub 与 StackBlitz 在线演示中查看。
社区
如果你有疑问或者需要帮助,可以到 Discord 和 GitHub Discussions 社区来寻求帮助。