Repolode
vitest-dev

vitest-dev/vitest

基于 Vite 的下一代测试框架,可复用项目现有的 Vite 配置与插件运行测试。

可替代:Jest

Star
17,271
Fork
2,095
未关闭 Issue
361
最近提交
2小时前

这是什么?

Vitest 是一个基于 Vite 构建的 JavaScript / TypeScript 测试框架。测试与应用共用同一套 Vite 配置、转换器、解析器和插件,无需额外维护测试构建配置。它提供类似 Jest 的 API,内置 Chai 断言并兼容 Jest expect,同时支持快照、mock、stub 和 spy。

框架覆盖多种测试场景:监听模式可只重跑受影响的测试,支持通过 v8 或 istanbul 收集原生代码覆盖率,并可借助 JSDOM 或 happy-dom 模拟 DOM。Browser Mode 可在真实浏览器中运行组件测试,仓库提供 Vue、React、Svelte、Lit、Marko 等示例。基准测试基于 Tinybench,类型级测试基于 expect-type。

运行 Vitest 需要 Vite 6.4.0 及以上版本和 Node 22.12.0 及以上版本。

核心功能

  • 01复用项目的 Vite 配置、转换器和插件运行测试。
  • 02兼容 Jest 的 expect API,内置 Chai 断言与快照。
  • 03监听模式只重跑受影响的测试。
  • 04通过 v8 或 istanbul 收集原生代码覆盖率。
  • 05Browser Mode 可在真实浏览器中运行组件测试。
  • 06内置基于 Tinybench 的基准测试与基于 expect-type 的类型测试。

适用场景

  • 为基于 Vite 的前端或 Node.js TypeScript 项目编写单元测试。
  • 在真实浏览器中对 Vue、React、Svelte 或 Lit 组件做测试。
  • 将 Jest 测试迁移到与 Vite 原生集成的测试运行器。
  • 在 CI 中收集代码覆盖率并执行类型级断言。

快速上手

  1. 1

    确保已安装 Node.js v22.12.0 或更高版本(Vitest 还需要 Vite v6.4.0 或更高版本)

  2. 2

    使用 npx 运行 Vitest

    npx vitest

使用前须知

  • 需要 Node.js v22.12.0 或更高版本,以及 Vite v6.4.0 或更高版本。

收录于专题

标签

常见问题

vitest 是什么?
基于 Vite 的下一代测试框架,可复用项目现有的 Vite 配置与插件运行测试。 Vitest 是一个基于 Vite 构建的 JavaScript / TypeScript 测试框架。测试与应用共用同一套 Vite 配置、转换器、解析器和插件,无需额外维护测试构建配置。它提供类似 Jest 的 API,内置 Chai 断言并兼容 Jest expect,同时支持快照、mock、stub 和 spy。
vitest 可以免费使用吗?用的什么许可证?
vitest 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
vitest 还在维护吗?
活跃维护中。vitest 最近一次提交是在 2026年10月22日。
vitest 适合用来做什么?
为基于 Vite 的前端或 Node.js TypeScript 项目编写单元测试。 在真实浏览器中对 Vue、React、Svelte 或 Lit 组件做测试。 将 Jest 测试迁移到与 Vite 原生集成的测试运行器。 在 CI 中收集代码覆盖率并执行类型级断言。
vitest 怎么安装和运行?
确保已安装 Node.js v22.12.0 或更高版本(Vitest 还需要 Vite v6.4.0 或更高版本) 使用 npx 运行 Vitest: npx vitest
在哪里获取 vitest?
源代码和安装说明在 GitHub 上:https://github.com/vitest-dev/vitest

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目