website

Vitest Docs

所属分类:开发者在线工具箱

Vitest 官方文档:测试编写、浏览器模式与 Recipes 实践方案。

Vitest Docs 是 Vitest 测试框架的官方文档站,包括入门、编写测试、浏览器模式、配置与 API 参考。其中的 Recipes 栏目按具体场景给出做法,例如让每个测试都在数据库事务中运行。适合正在为 Vite 或 Vite 风格项目编写单元测试与集成测试的开发者。

Vitest Docs:编写测试、浏览器模式与数据库事务等实践方案

发布于 2026年10月18日更新于 2026年10月29日

入门与安装

Vitest 官网的入门页说明,Vitest 是由 Vite 驱动的新一代测试框架。安装命令为 npm install -D vitest,页面的切换标签还给出了 yarn、pnpm、bun 和 deno 的写法。页面的提示说明,Vitest 要求 Vite 6.4.0 或更高版本,以及 Node.js 22.12.0 或更高版本。

Vitest 官方文档入门页截图,顶部为 Vitest 标志和 Guides、API、Config、Blog 导航,版本显示 v5.0.5,正文标题为“Getting Started”,下方有“Adding Vitest to Your Project”小节和 npm 安装命令

页面还提供 StackBlitz 在线试用的入口,可以在浏览器中直接运行 Vitest,不需要在本机安装。

学习路径

左侧目录的“Learn”部分按主题组织内容,包括编写测试、匹配器、异步代码测试、初始化与清理、模拟函数、快照测试、实践中的测试、调试测试,以及用 AI 编写测试。

“Browser Mode”部分则讲解在真实浏览器中运行测试的方法,包括组件测试、视觉回归测试、Trace View、Playwright Traces 和 ARIA 快照等。

Recipes:按场景查找做法

Recipes 栏目列出的页面包括数据库事务、取消长时间运行的操作、等待异步条件、类型收窄、自定义断言辅助函数、监听未被导入的文件、扩展浏览器定位器、基于 Schema 的断言、用 using 自动清理、用 vi.when 进行条件模拟、单文件隔离设置,以及并行与顺序执行测试文件等。

Vitest 官方文档 Recipes 页面截图,标题为“Database Transaction per Test”,正文说明集成测试需要从干净的数据库状态开始,下方是 aroundEach 与 db.transaction 的 TypeScript 代码示例

以“Database Transaction per Test”为例,页面说明,直接清空表格的做法在每个测试之间都很慢,因此常见做法是把每个测试包裹在一个事务中,测试结束后回滚,数据库中不会留下提交的内容。Vitest 通过 aroundEach 方法(自 4.1.0 起可用)和带作用域的 fixture(自 3.2.0 起可用)支持这种写法。

页面还说明,默认情况下每个测试文件运行在自己的工作进程中。如果把 isolate 设为 false,工作进程会在文件之间复用,此时 worker 级的 fixture 只创建一次,可以减少数据库连接数。但页面同时提醒,修改顶层状态的测试可能把状态泄漏到同一进程中运行的下一个文件,因此应先阅读“Per-File Isolation Settings”一节再全局关闭隔离。

文档的版本与迁移

页面顶部的版本选择器显示为 v5.0.5。文档中还包括从 Jest、从 Mocha + Chai + Sinon 迁移到 Vitest 的指南,以及 Vitest 5.0 的迁移说明。