GoLand 2025.2 Help

Vitest

GoLand 集成了 Vitest ,这是一个 Vite 原生的单元测试框架。 您可以从编辑器中或通过运行/调试配置运行、调试、进行快照测试并测量测试覆盖率。

您可以重新运行失败测试,或启用 watch 模式。 当您以该模式启动测试会话时,GoLand 会监视项目源代码中的更改。 一旦对测试或其测试对象进行了任何更改,GoLand 会重新运行受影响的测试,您甚至无需重新启动运行/调试配置。

开始之前

  1. 下载并安装 Node.js

  2. 确保设置中启用了 JavaScript 和 TypeScript 插件。 按 Ctrl+Alt+S 打开设置,然后选择 插件。 单击 已安装 选项卡。 在搜索字段中键入 JavaScript 和 TypeScript。 有关插件的详细信息,请参阅 管理插件

安装 Vitest

  • 在嵌入式 终端Alt+F12 )中键入:

    npm install --save-dev vitest

从 Vitest 官方网站了解更多信息: 入门配置 Vitest

运行并调试测试

借助 GoLand,您可以直接从编辑器快速运行或调试单个 Vitest 测试,也可以创建运行/调试配置以运行或调试部分或全部测试。

有关为 JavaScript 和 TypeScript 代码创建 Vitest 测试的更多信息,请参阅 Vitest 官方网站上的 Vitest 功能

在编辑器中运行或调试单个测试

  • 单击边距中的 运行图标重新运行图标 ,然后从列表中选择 运行 <test_name>

    从编辑器中运行单个 Vitest 测试

    您还可以直接在编辑器中查看测试是否通过或失败,这要归功于边距中的 测试状态 图标 测试通过测试失败

  • 要调试测试,请在其中 设置断点 ,单击边距中的 运行图标重新运行图标 ,然后从列表中选择 调试 <test_name>

    从编辑器中调试单个 Vitest 测试

    调试 工具窗口中, 检查已挂起的测试逐步执行

    Vitest 调试会话

创建 Vitest 运行配置

  1. 打开 运行/调试配置 对话框(主菜单中的 运行 | 编辑配置 ),单击左侧窗格中的 添加按钮 ,然后从列表中选择 Vitest运行/调试配置:Vitest 对话框随之打开。

  2. 指定要使用的 Node.js 解释器。

    如果您选择 项目 别名,GoLand 将自动使用 Node 解释器 字段中项目默认的解释器。 在大多数情况下,GoLand 会检测项目默认的解释器并自动填充该字段。

    您也可以选择另一个已配置的本地解释器,或点击 浏览按钮 并配置一个新解释器。

    可选地指定传递给 Node.js 的 Node.js 特定选项参数环境变量

  3. 指定 vitest package 的位置。

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

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

  6. 默认情况下,会使用 vite.config.ts 。 如果缺少 vite.config.ts ,或者您希望使用自定义配置,请指定要使用的 vitest.config.ts 。 详细信息请参阅 Vitest 官方网站

  7. 可选:

    配置在测试或相关源文件发生更改时自动重新运行测试。 为此,请在 Vitest 选项 字段中添加 --watch 标志。

    您还可以添加其他 Vitest 选项。 有关更多信息,请参阅 Vitest 官方网站

  8. 可选:

    Node 选项 字段中,输入要传递给 Node.js 可执行文件的 Node.js 特定命令行选项。 可接受的选项有:

    • 使用 --require coffeescript/register 可在运行时即时将 CoffeeScript 文件编译为 JavaScript。

      该模式要求 register.js 文件(属于 coffeescript package)位于您的项目中。

    • 使用 --inspect--inspect-brk 参数以支持 Chrome 调试协议

通过运行配置运行测试

  1. 从配置列表中选择 Vitest 运行/调试配置,然后点击列表或工具栏中的 运行图标

  2. 测试运行器 标签页的 运行 工具窗口中监视测试执行情况并分析测试结果。 有关更多信息,请参阅 查看测试结果

    如需调试测试, 设置断点 ,选择运行/调试配置,然后点击 调试按钮

    Vitest:测试结果

重新运行测试

您可以重新运行指定范围中的所有测试 Alt+Shift+R ,或仅重新运行失败的测试。

您还可以在 --watch 模式 下启动测试。 在此模式下,GoLand 会监视测试及相关对象的已保存更改。 一旦检测到更改,GoLand 会在不终止当前测试会话的情况下重新运行受影响的测试。

重新运行失败测试

  • 点击测试结果工具栏上的 重新运行失败测试图标。 GoLand 将执行上次会话中失败的所有测试。

    Vitest:重新运行所有失败测试
  • 如需重新运行特定失败的测试,请在其上下文菜单中选择 运行 <test name>

有关更多信息,请参阅 重新运行测试

自动重新运行已更新测试(--watch 模式)

  1. 打开 Vitest 运行/调试配置,或按照 上文说明 创建一个新配置。

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

  3. 启动运行/调试配置。 如果部分测试失败,您可以更新它们或相关对象而无需终止测试会话。 保存更改后,GoLand 会检测这些更改并重新运行受影响的测试。

    在以下示例中, 29 行的 vue.test.ts 测试失败。 使用 --watch 选项后,在您将 '4 x 4 = 18' 替换为 '4 x 4 = 16' vue.test.ts 并通过 Ctrl+S 保存更改或移出 GoLand 焦点后,该测试将被重新运行。

快照测试

GoLand 还支持 Vitest 快照测试。 当 GoLand 第一次使用 toMatchSnapshot() 方法运行测试时,会创建一个快照文件,并在 toMatchSnapshot () 附近的标记区显示 快照 图标。 点击 快照图标 可打开生成的快照。

监视代码覆盖率

通过 GoLand,您还可以监视代码被 Vitest 测试覆盖 的情况。 GoLand 会在专用的 覆盖率 工具窗口中显示统计信息,并在编辑器和 项目 工具窗口中直观标记已覆盖和未覆盖的代码行 Alt+1

Vitest 覆盖率报告

为 Vitest 启用代码覆盖率

安装 @vitest/coverage-v8istanbul。 为此,请打开内置的 终端 Alt+F12 ,然后输入以下任一命令:

  • npm install --save-dev @vitest/coverage-v8

  • npm install --save-dev @vitest/coverage-istanbul

请参阅 Vitest 官方网站上的 Coverage 了解更多信息。

带覆盖率运行测试

  1. 从编辑器中使用覆盖率运行特定的套件或测试:单击边栏中的 运行按钮重新运行按钮 ,然后从列表中选择 使用覆盖率运行 <test_name>

    从编辑器中运行带覆盖率的 Vitest 测试

    或者:

    创建如上所述的 Vitest 运行/调试配置 从主工具栏的列表中选择 Vitest 运行/调试配置,然后单击列表右侧的 带覆盖率运行图标

  2. Coverage 工具窗口中监视代码覆盖率。 报告显示有多少文件已通过测试覆盖以及其中被覆盖行的百分比。 您可以通过报告跳转到文件,查看哪些行已被覆盖(标记为绿色),哪些行未被覆盖(标记为红色):

最后修改日期: 2025年 9月 26日