# Vitest

> For the complete documentation index, see [llms.txt](https://www.jetbrains.com/zh-cn/help/idea/llms.txt).

> **TL;DR**
> 仅在 IntelliJ IDEA Ultimate 订阅中提供： [下载](https://www.jetbrains.com/zh-cn/idea/download/)试用或 [探索功能](https://www.jetbrains.com/zh-cn/products/compare/?product=idea&product=idea-ult)。
>
>
>
> 所需插件  :
>
>
>
> `JavaScript 和 TypeScript` ,  `Vite`  -  插件与 IntelliJ IDEA 捆绑在一起，并默认启用。

IntelliJ IDEA 集成了 [Vitest](https://vitest.dev/)，一个 [Vite](https://vitejs.dev/)原生的单元测试框架。 您可以从编辑器和通过运行/调试配置运行、调试、进行快照测试和测量测试覆盖率。

您可以重新运行失败的测试或打开  监视 模式。 当您以此模式启动测试会话时，IntelliJ IDEA 会监控项目源代码中的更改。 一旦对测试或其主体进行了任何更改，IntelliJ IDEA 就会重新运行受影响的测试，您甚至不必重新启动运行/调试配置。

## 开始之前

Procedure:

1. 下载并安装 [Node.js](http://nodejs.org/#download)。

2. 请确保  JavaScript 和 TypeScript  及  Vite  所需插件已在   设置 | 插件   页面上启用。 有关更多信息，请参阅 [管理插件](managing-plugins.html)。

## 安装 Vitest

Procedure:

* 在命令行 shell 或嵌入式   终端  （ `Alt+F12` (Windows), `⌥ F12` (macOS), `⌥ F12` (IntelliJ IDEA Classic (macOS)), `⌘ ⌃ T` (macOS System Shortcuts), `Alt+F12` (XWin), `Alt+F12` (GNOME), `Alt+F12` (KDE), `Alt+F12` (Emacs), `Alt+F12` (Sublime Text), `⌥ F12` (Sublime Text (macOS)), `Ctrl+Alt+1` (Visual Studio), `⌘ ⌃ 1` (Visual Studio (macOS)), `Alt+F12` (NetBeans), `Alt+F12` (Eclipse), `⌥ F12` (Eclipse (macOS))）中输入：

`npm install --save-dev vitest`

从 Vitest 官方网站上的 [入门](https://vitest.dev/guide/)和 [配置 Vitest](https://vitest.dev/guide/#configuring-vitest)了解详情。

## 运行并调试测试

在 IntelliJ IDEA 中，您可以直接从编辑器中快速运行或调试单个 Vitest 测试，或者创建运行/调试配置以运行或调试某些或全部测试。

有关为 JavaScript 和 TypeScript 代码创建 Vitest 测试的更多信息，请参阅 Vitest 官方网站上的 [Vitest 功能](https://vitest.dev/guide/features.html)。

Procedure: 从编辑器运行或调试单个测试

* 点击装订区域中的 ![运行图标](https://resources.jetbrains.com/help/img/idea/2026.3/app-client.expui.run.run.svg) 或 ![重新运行图标](https://resources.jetbrains.com/help/img/idea/2026.3/app.actions.rerun.svg)，并从列表中选择   运行 <test_name>  。

![从编辑器运行一个 Vitest 测试](https://resources.jetbrains.com/help/img/idea/2026.3/ws_vitest_run_test.png)

在   运行   工具窗口中查看您的测试运行结果。 对于失败的测试，将显示错误发生的位置及其原因。

![错误详细信息](https://resources.jetbrains.com/help/img/idea/2026.3/vitest_run_single_test_error_info.png)

您还可以在编辑器中查看测试是否通过或失败，由于装订区域的  测试状态 图标 ![测试通过](https://resources.jetbrains.com/help/img/idea/2026.3/app.runConfigurations.testState.green2.svg) 和 ![测试失败](https://resources.jetbrains.com/help/img/idea/2026.3/app.runConfigurations.testState.red2.svg)。

![测试的装订区域图标](https://resources.jetbrains.com/help/img/idea/2026.3/vitest_run_single_test_gutter_icons.png)

* 要调试测试，请在其中 [设置断点](using-breakpoints.html)，点击装订区域中的 ![运行图标](https://resources.jetbrains.com/help/img/idea/2026.3/app-client.expui.run.run.svg) 或 ![重新运行图标](https://resources.jetbrains.com/help/img/idea/2026.3/app.actions.rerun.svg)，然后从列表中选择   调试 <test_name>  。

![从编辑器调试一个 Vitest 测试](https://resources.jetbrains.com/help/img/idea/2026.3/ws_vitest_debug_test.png)

在   调试  工具窗口中， [检查挂起的测试](examining-suspended-program.html)并 [逐步执行](stepping-through-the-program.html)。

![一场 Vitest 调试会话](https://resources.jetbrains.com/help/img/idea/2026.3/ws_vitest_debug_tool_window.png)

Procedure: 创建 Vitest 运行配置

1. 打开 [运行/调试配置](run-debug-configurations-dialog.html)对话框（  `运行 | 编辑配置` 在主菜单中），点击 !["添加"按钮](https://resources.jetbrains.com/help/img/idea/2026.3/app.expui.general.add.svg)在左侧窗格中，然后从列表中选择   Vitest  。   运行/调试配置：Vitest  对话框打开。

> **Tip:**
> 或者，在   项目   工具窗口 ( `Alt+1` (Windows), `⌘ 1` (macOS), `⌘ 1` (IntelliJ IDEA Classic (macOS)), `⌘ 1` (macOS System Shortcuts), `Alt+1` (XWin), `Alt+1` (GNOME), `Alt+1` (KDE), `Alt+1` (Emacs), `Alt+1` (Sublime Text), `⌘ 1` (Sublime Text (macOS)), `Ctrl+Alt+L` (Visual Studio), `⌘ ⌥ L` (Visual Studio (macOS)), `Ctrl+1` (NetBeans), `Alt+1` (Eclipse), `Alt+1` (Eclipse (macOS))) 中选择一个测试文件，然后从上下文菜单中选择   创建 <文件名>  。

2. 指定要使用的 Node.js 运行时。

如果您选择   项目   别名， IntelliJ IDEA 将自动使用在 [JavaScript 运行时](javascript-runtime.html) 页面上   Node.js 运行时   字段中的项目默认解释器。 在大多数情况下， IntelliJ IDEA 会检测到项目的默认运行时，并自动填写该字段。

您还可以选择其他已配置的本地或远程解释器，或点击 ![浏览按钮](https://resources.jetbrains.com/help/img/idea/2026.3/app.general.ellipsis.svg) 并配置一个新的解释器。

可选择指定要传递给 Node.js 的 [Node.js 特定选项形参](run-debug-configuration-node-js.html#node_parameters)和 [环境变量](https://www.w3schools.com/nodejs/nodejs_environment.asp)。

变量定义显示在   环境变量   字段中，并用分号 (  `;` ) 分隔，例如：

* `NODE_PATH` 用于解析模块时搜索的附加目录列表。 在 macOS 或 Linux 上，目录列表请用冒号 ( `:` ) 分隔；在 Windows 上请用分号 ( `;` ) 分隔。

* `NODE_MODULE_CONTEXTS` 设置为 1 以在各自的全局上下文中加载模块。

* `NODE_DISABLE_COLORS` 设置为 1 以在 REPL 中禁用颜色。

![环境变量](https://resources.jetbrains.com/help/img/idea/2026.3/nodeEnvironmentVariables.png)

或者，点击字段右侧的   浏览   ![编辑环境变量](https://resources.jetbrains.com/help/img/idea/2026.3/app-client.expui.inline.variables.svg)，并在打开的   环境变量   对话框中配置变量列表：

* 请使用 ![](https://resources.jetbrains.com/help/img/idea/2026.3/app.expui.general.add.svg)、 ![](https://resources.jetbrains.com/help/img/idea/2026.3/app.expui.general.remove.svg)、 ![](https://resources.jetbrains.com/help/img/idea/2026.3/app.expui.general.copy.svg) 和 ![](https://resources.jetbrains.com/help/img/idea/2026.3/app.expui.general.paste.svg) 按钮来管理自定义变量列表。

* 该对话框还会显示可用的系统环境变量列表。 如果不想为当前配置使用系统环境变量，请清除 包括系统环境变量 复选框。

* 准备就绪后，点击 OK 。

3. 指定  `vitest`  软件包的位置。

4. 指定应用程序的工作目录。 默认情况下，   工作目录   字段显示项目根文件夹。 若要更改此预定义设置，请指定所需文件夹的路径。

5. 指定要运行的测试。 这可以是一个特定的测试或套件，整个测试文件或包含测试文件的文件夹。

6. 默认情况下，  `vite.config.ts`  被使用。 如果  `vite.config.ts`  丢失，或您希望使用自定义配置，请指定  `vitest.config.ts`  进行使用。 请访问 [Vitest 官方网站](https://vitest.dev/guide/#configuring-vitest)了解更多信息。

7. 可选：

在相关源码文件或测试中进行变更时自动配置重新运行测试。 要做到这一点，请在  `--watch`  标志中添加   Vitest 选项   字段。

您还可以添加其他 Vitest 选项。 如需了解更多信息，请参考 [Vitest official website](https://vitest.dev/guide/cli.html#options)。

8. 可选：

在   Node 选项   字段中，输入要传递给 Node.js 可执行文件的特定命令行选项。 可接受的选项是：

* 使用 `--require coffeescript/register` ，运行期间可以将 CoffeeScript 文件即时编译为 JavaScript。 此模式要求 `register.js` 文件位于项目中，该文件是 `coffeescript` 软件包的一部分。 因此，请确保已在本地安装 `coffeescript` 软件包，如 [安装 CoffeeScript 编译器](coffeescript.html#ws_coffee_installation)中所述。

* 使用 `--inspect` 或 `--inspect-brk` 参数以支持 [Chrome Debugging Protocol](https://developer.chrome.com/devtools/docs/debugger-protocol)。

Procedure: 通过运行配置运行测试

1. 从配置列表中选择 Vitest 运行/调试配置，然后在列表或工具栏中点击 ![运行图标](https://resources.jetbrains.com/help/img/idea/2026.3/app.expui.run.run.svg)。

2. 在   测试运行器   选项卡的   运行   工具窗口中监控测试执行并分析测试结果。 有关详细信息，请参考 [探索测试结果](viewing-and-exploring-test-results.html)。

要调试测试， [设置断点](using-breakpoints.html) 在必要的地方，选择运行/调试配置，然后点击 ![调试按钮](https://resources.jetbrains.com/help/img/idea/2026.3/app.expui.run.debug.svg)。

![Vitest：测试结果](https://resources.jetbrains.com/help/img/idea/2026.3/ws_vitest_test_results.png)

## 重新运行测试

可以重新运行指定作用域内的所有测试 `Alt+Shift+R` (Windows), `⌘ ⌃ R` (macOS), `⌘ ⌃ R` (IntelliJ IDEA Classic (macOS)), `⌘ ⌃ R` (macOS System Shortcuts), `Alt+Shift+R` (XWin), `Alt+Shift+R` (GNOME), `Alt+Shift+R` (KDE), `Alt+Shift+R` (Emacs), `Alt+Shift+R` (Sublime Text), `⌘ ⌃ R` (Sublime Text (macOS)), `Alt+Shift+R` (Visual Studio), `Alt+Shift+R` (Visual Studio (macOS)), `Alt+Shift+R` (NetBeans), `Alt+Shift+G` (Eclipse), `⌘ ⌃ R` (Eclipse (macOS))，或仅重新运行失败的测试。

您还可以在 [监视模式](https://vitest.dev/guide/features.html#watch-mode)中启动测试。 在此模式下，IntelliJ IDEA 监控保存的测试和相关测试对象的更改。 一旦检测到更改，IntelliJ IDEA 将在不中断当前测试会话的情况下重新运行受影响的测试。

> **Note:**
> IntelliJ IDEA 仅检测通过 `Ctrl+S` (Windows), `⌘ S` (macOS), `⌘ S` (IntelliJ IDEA Classic (macOS)), `⌘ S` (macOS System Shortcuts), `Ctrl+S` (XWin), `Ctrl+S` (GNOME), `Ctrl+S` (KDE), `Ctrl+X, Ctrl+S` (Emacs), `Ctrl+S` (Sublime Text), `⌘ S` (Sublime Text (macOS)), `Ctrl+Shift+S` (Visual Studio), `⌘ ⇧ S` (Visual Studio (macOS)), `Ctrl+S` (NetBeans), `Ctrl+S` (Eclipse), `⌘ S` (Eclipse (macOS)) 手动保存或自动保存的更新，例如，在更改焦点时。 了解更多： [配置自动保存行为](saving-and-reverting-changes.html#configure-autosave)。

Procedure: 重新运行失败的测试

* 点击 ![重新运行失败测试图标](https://resources.jetbrains.com/help/img/idea/2026.3/app-client.expui.run.restartFailedTests.svg)测试结果工具栏。 IntelliJ IDEA 将执行上一会话中失败的所有测试。

![Vitest：重新运行所有失败的测试](https://resources.jetbrains.com/help/img/idea/2026.3/ws_vitest_rerun_failed_test.png)

* 若要重新运行某个特定失败的测试，请在其上下文菜单中选择  `运行 <test name>` 。

Procedure: 自动重新运行更新的测试（监视模式）

1. 打开   Vitest  运行/调试配置，或 [如上文所述](#createRunConfigVitest)创建一个新的配置。

2. 在   Vitest 选项  字段中，输入  `--watch` 。 在自动生成的   所有测试  配置中，  `--watch` 选项已指定。

3. 启动运行/调试配置。 如果某些测试失败，您可以在不中止测试会话的情况下更新它们或相关测试对象。 一旦您的更改被保存，IntelliJ IDEA 会检测到它们并重新运行受影响的测试。

在下面的示例中，第  `29`  行的  `vue.test.ts`  测试失败了。 使用  `--watch`  选项后，测试将在  `vue.test.ts` 将  `'4 x 4 = 18'`  替换为  `'4 x 4 = 16'`  并在 `Ctrl+S` (Windows), `⌘ S` (macOS), `⌘ S` (IntelliJ IDEA Classic (macOS)), `⌘ S` (macOS System Shortcuts), `Ctrl+S` (XWin), `Ctrl+S` (GNOME), `Ctrl+S` (KDE), `Ctrl+X, Ctrl+S` (Emacs), `Ctrl+S` (Sublime Text), `⌘ S` (Sublime Text (macOS)), `Ctrl+Shift+S` (Visual Studio), `⌘ ⇧ S` (Visual Studio (macOS)), `Ctrl+S` (NetBeans), `Ctrl+S` (Eclipse), `⌘ S` (Eclipse (macOS))中保存更改后重新运行，或将焦点从 IntelliJ IDEA 移开。

![在 --watch 监视模式下重新运行已更新的测试](https://resources.jetbrains.com/help/img/idea/2026.3/ws_vitest_watch_mode.animated.gif)

## 快照测试

IntelliJ IDEA 也支持 [Vitest 快照测试](https://vitest.dev/guide/snapshot.html#snapshot)。 当 IntelliJ IDEA 第一次使用  `toMatchSnapshot()` 方法运行测试时，会创建一个快照文件，并且 ![快照](https://resources.jetbrains.com/help/img/idea/2026.3/javascript-impl.icons.jest.snapshotGutter.svg)图标会出现在  `toMatchSnapshot ()` 旁边的边距。 点击 ![快照图标](https://resources.jetbrains.com/help/img/idea/2026.3/javascript-impl.icons.jest.snapshotGutter.svg) 以打开生成的快照。

![快照](https://resources.jetbrains.com/help/img/idea/2026.3/ws_vitest_snapshot.png)

## 监控代码覆盖率

使用 IntelliJ IDEA，您还可以监控代码中有多少部分 [已被 Vitest 测试覆盖](https://vitest.dev/guide/coverage.html#coverage)。 IntelliJ IDEA 会在专用的   覆盖率   工具窗口中显示此统计信息，并在编辑器和   项目   工具窗口 ( `Alt+1` (Windows), `⌘ 1` (macOS), `⌘ 1` (IntelliJ IDEA Classic (macOS)), `⌘ 1` (macOS System Shortcuts), `Alt+1` (XWin), `Alt+1` (GNOME), `Alt+1` (KDE), `Alt+1` (Emacs), `Alt+1` (Sublime Text), `⌘ 1` (Sublime Text (macOS)), `Ctrl+Alt+L` (Visual Studio), `⌘ ⌥ L` (Visual Studio (macOS)), `Ctrl+1` (NetBeans), `Alt+1` (Eclipse), `Alt+1` (Eclipse (macOS))) 中以可视化方式标记已覆盖和未覆盖的行。

![Vitest 覆盖率报告](https://resources.jetbrains.com/help/img/idea/2026.3/ws_vitest_coverage_report.png)

Procedure: 启用 Vitest 的代码覆盖率

安装 [@vitest/coverage-v8](https://www.npmjs.com/package/@vitest/coverage-v8) 或 [istanbul](https://istanbul.js.org/)。 要做到这一点，请打开内置的   终端   `Alt+F12` (Windows), `⌥ F12` (macOS), `⌥ F12` (IntelliJ IDEA Classic (macOS)), `⌘ ⌃ T` (macOS System Shortcuts), `Alt+F12` (XWin), `Alt+F12` (GNOME), `Alt+F12` (KDE), `Alt+F12` (Emacs), `Alt+F12` (Sublime Text), `⌥ F12` (Sublime Text (macOS)), `Ctrl+Alt+1` (Visual Studio), `⌘ ⌃ 1` (Visual Studio (macOS)), `Alt+F12` (NetBeans), `Alt+F12` (Eclipse), `⌥ F12` (Eclipse (macOS)) 并输入以下任一内容：

* `npm install --save-dev @vitest/coverage-v8`

* `npm install --save-dev @vitest/coverage-istanbul` .

请访问 Vitest 官方网站上的 [测试覆盖率](https://vitest.dev/guide/coverage.html#coverage)了解详情。

Procedure: 运行测试并生成覆盖率报告

1. 从编辑器运行带覆盖率的特定套件或测试：点击装订区域中的 ![运行按钮](https://resources.jetbrains.com/help/img/idea/2026.3/app.expui.run.run.svg) 或 ![重新运行按钮](https://resources.jetbrains.com/help/img/idea/2026.3/app.actions.rerun.svg)，然后从列表中选择   运行 <test_name> 并查看覆盖率  。

![从编辑器运行 Vitest 测试并获取覆盖率](https://resources.jetbrains.com/help/img/idea/2026.3/ws_vitest_run_with_coverage_editor.png)

或者：

[如上所述](#createRunConfigVitest)创建一个 Vitest 运行/调试配置。 从主工具栏的列表中选择 Vitest 运行/调试配置，然后点击列表右侧的 ![运行覆盖率图标](https://resources.jetbrains.com/help/img/idea/2026.3/app.general.runWithCoverage.svg) 。

2. 在 [Coverage](null) 工具窗口中监控代码覆盖率。 报告显示了多少文件经过了测试及其中已覆盖代码行的百分比。 从报告中，您可以跳转到文件并查看哪些行已覆盖（标记为绿色）以及哪些行未覆盖（标记为红色）：

