PyCharm 2025.3 Help

Vitest

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

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

开始之前

  1. 请确保您的计算机上已安装 Node.js

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

安装 Vitest

  • 在内置的 终端Alt+F12 )中,输入:

    npm install --save-dev vitest

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

运行并调试测试

使用 PyCharm,您可以直接在编辑器中快速运行或调试单个 Vitest 测试,或创建运行/调试配置来运行或调试部分或全部测试。

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

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

  • 在装订区域中点击 运行图标重新运行图标 ,并从列表中选择 运行 <test_name>

    从编辑器运行单个 Vitest 测试

    运行 工具窗口中查看测试运行结果。 对于失败的测试,将显示错误发生的位置以及导致错误的原因。

    详细错误信息

    您还可以直接在编辑器中查看测试是通过还是失败,得益于装订区域中的 测试状态 图标 测试通过测试失败

    测试的装订区域图标
  • 要调试测试,请在其中 设置断点 ,点击装订区域中的 运行图标重新运行图标 ,并从列表中选择 调试 <test_name>

    从编辑器调试单个 Vitest 测试

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

    Vitest 调试会话

创建 Vitest 运行配置

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

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

    如果选择 项目 别名,PyCharm 将自动使用 JavaScript Runtime 页面上 Node 运行时 字段中的项目默认解释器。 在大多数情况下,PyCharm 会检测项目的默认运行时并自动填充该字段。

    您也可以选择其他已配置的本地或远程解释器,或点击 浏览按钮 并配置新的解释器。

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

  3. 指定 vitest 包的位置。

  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 包的一部分)位于您的项目中。 因此,请确保已按照 安装 CoffeeScript 编译器 中的说明在本地安装 coffeescript 包。

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

通过运行配置运行测试

  1. 从配置列表中选择 Vitest 运行/调试配置,然后在列表或工具栏中点击 运行图标 &#xa0;。

  2. 运行 工具窗口的 测试运行器 选项卡中监控测试执行并分析测试结果。 有关更多信息,请参阅 探索测试结果

    要调试测试,请在必要的位置 设置断点 ,选择运行/调试配置,然后点击 调试按钮

    Vitest:测试结果

重新运行测试

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

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

重新运行失败的测试

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

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

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

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

  1. 打开一个 Vitest 运行/调试配置,或 如上所述 创建一个新配置。

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

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

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

    在 --watch 模式下重新运行已更新的测试

快照测试

PyCharm 也支持 Vitest 快照测试。 当 PyCharm 第一次运行使用 toMatchSnapshot() 方法的测试时,会创建一个快照文件,并且在装订区域中 toMatchSnapshot () 旁边会出现一个 快照 图标。 点击 快照图标 打开生成的快照。

快照

监控代码覆盖率

使用 PyCharm,您还可以监控您的代码有多少 被 Vitest 测试覆盖。 PyCharm 会在专用的 覆盖率 工具窗口中显示该统计信息,并在编辑器以及 项目 工具窗口 Alt+1 中以可视方式标记已覆盖和未覆盖的行。

Vitest 覆盖率报告

为 Vitest 启用代码覆盖率

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

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

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

在 Vitest 官方网站上了解更多信息: 覆盖率

使用覆盖率运行测试

  1. 从编辑器使用覆盖率运行特定套件或测试:在装订区域中点击 运行按钮重新运行按钮 ,并从列表中选择 使用覆盖率运行 <test_name>

    从编辑器使用覆盖率运行 Vitest 测试

    或者:

    创建一个 Vitest 运行/调试配置, 如上所述。 在主工具栏的列表中选择 Vitest 运行/调试配置,然后点击列表右侧的 使用覆盖率运行图标 &#xa0;。

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

最后修改日期: 2025年 12月 2日