Vitest
PyCharm 与 Vitest 集成,它是一个 Vite 原生的单元测试框架。 您可以在编辑器中或通过运行/调试配置运行、调试、执行快照测试并测量测试覆盖率。
您可以重新运行失败的测试,或启用 watch 模式。 在此模式下启动测试会话时, PyCharm 会监视项目源代码中的更改。 一旦对测试或其被测对象进行了更改, PyCharm 会重新运行受影响的测试,您甚至无需重新启动运行/调试配置。
开始之前
安装 Vitest
在内置的 终端 (Alt+F12 )中,输入:
npm install --save-dev vitest
运行并调试测试
使用 PyCharm,您可以直接在编辑器中快速运行或调试单个 Vitest 测试,或创建运行/调试配置来运行或调试部分或全部测试。
有关为 JavaScript 和 TypeScript 代码创建 Vitest 测试的更多信息,请参阅 Vitest 官方网站上的 Vitest 功能。
从编辑器运行或调试单个测试
创建 Vitest 运行配置
打开 运行/调试配置 对话框(主菜单中的 ),在左侧窗格中点击
,并从列表中选择 Vitest。 将打开 运行/调试配置: Vitest 对话框。
指定要使用的 Node.js 运行时。
如果选择 项目 别名,PyCharm 将自动使用 JavaScript Runtime 页面上 Node 运行时 字段中的项目默认解释器。 在大多数情况下,PyCharm 会检测项目的默认运行时并自动填充该字段。
您也可以选择其他已配置的本地或远程解释器,或点击
并配置新的解释器。
可选:指定要传递给 Node.js 的 Node.js 特定选项参数 和 环境变量。
指定
vitest包的位置。指定应用程序的工作目录。 默认情况下, 工作目录 字段显示项目根文件夹。 要更改此预定义设置,请指定所需文件夹的路径。
指定要运行的测试。 可以是特定测试或套件、整个测试文件,或包含测试文件的文件夹。
默认使用 vite.config.ts 。 如果缺少 vite.config.ts ,或者您想使用自定义配置,请指定要使用的 vitest.config.ts 。 在 Vitest 官方网站 了解更多信息。
可选:
配置在测试或相关源文件发生更改时自动重新运行测试。 为此,请在 Vitest 选项 字段中添加
--watch标志。您也可以添加其他 Vitest 选项。 有关更多信息,请参阅 Vitest 官方网站。
可选:
在 Node 选项 字段中,输入要传递给 Node.js 可执行文件的 Node.js 特定命令行选项。 可接受的选项为:
使用
--require coffeescript/register可在运行期间将 CoffeeScript 文件即时编译为 JavaScript。此模式要求 register.js 文件(
coffeescript包的一部分)位于您的项目中。 因此,请确保已按照 安装 CoffeeScript 编译器 中的说明在本地安装coffeescript包。使用
--inspect或--inspect-brk参数以支持 Chrome 调试协议。
通过运行配置运行测试
重新运行测试
您可以在指定范围内使用 Alt+Shift+R 重新运行所有测试,或仅重新运行失败的测试。
您也可以在 --watch mode 中启动测试。 在此模式下,PyCharm 会监视对测试及相关被测对象的已保存更改。 一旦检测到更改,PyCharm 会在不中止当前测试会话的情况下重新运行受影响的测试。
重新运行失败的测试
在测试结果工具栏上点击
。 PyCharm 将执行上一次会话中失败的所有测试。

要重新运行某个特定的失败测试,请在其上下文菜单中选择 。
有关更多信息,请参阅 重新运行测试。
自动重新运行已更新的测试(--watch 模式)
打开一个 Vitest 运行/调试配置,或 如上所述 创建一个新配置。
在 Vitest 选项 字段中,输入
--watch。 在自动生成的 所有测试 配置中,已指定--watch选项。启动该运行/调试配置。 如果有部分测试失败,您可以在不中止测试会话的情况下更新它们或相关被测对象。 一旦保存了您的更改,PyCharm 会检测到并重新运行受影响的测试。
在下面的示例中, vue.test.ts 的第
29行上的测试失败。 使用--watch选项后,您在 vue.test.ts 中将'4 x 4 = 18'替换为'4 x 4 = 16',并使用 Ctrl+S 保存更改或将焦点移出 PyCharm 后,该测试会被重新运行。
快照测试
PyCharm 也支持 Vitest 快照测试。 当 PyCharm 第一次运行使用 toMatchSnapshot() 方法的测试时,会创建一个快照文件,并且在装订区域中 toMatchSnapshot () 旁边会出现一个 图标。 点击
打开生成的快照。

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

为 Vitest 启用代码覆盖率
安装 @vitest/coverage-v8 或 istanbul。 为此,请打开内置的 终端 Alt+F12 ,并输入以下任一内容:
npm install --save-dev @vitest/coverage-v8npm install --save-dev @vitest/coverage-istanbul。
在 Vitest 官方网站上了解更多信息: 覆盖率。






