VSCode的Jest插件:前端测试的完美搭档

16次阅读

需配置vscode的Jest插件:安装官方插件、设置jest.pathToJest路径、启用onSave自动运行和覆盖率显示、检查快照目录与配置、添加launch.json调试配置。

VSCode的Jest插件:前端测试的完美搭档

如果您在使用 VSCode 进行前端开发时希望高效运行和调试 Jest 测试用例,但发现测试状态不刷新、断点无法命中或测试覆盖率不显示,则可能是由于 Jest 插件配置不当或环境集成异常。以下是解决此问题的步骤:

本文运行环境:macBook air,macOS Sequoia。

一、安装并启用 Jest 官方插件

VSCode 的 Jest 插件由 Orta Therox 维护,提供实时测试运行、快照预览和测试内联状态等功能。正确安装是功能生效的前提。

1、打开 VSCode,点击左侧活动栏的扩展图标(或按 Cmd+Shift+X)。

立即学习前端免费学习笔记(深入)”;

2、在搜索框中输入 Jest,找到名称为 Jest、作者为 Orta 的官方插件。

3、点击“安装”,安装完成后点击“重新加载”按钮使插件生效。

二、配置 Jest 可执行路径

插件默认尝试在项目根目录下查找 node_modules/.bin/jest,若项目使用 pnpm 或全局安装 Jest,需显式指定路径以避免“Command ‘jest.start’ not found”错误。

1、在项目根目录下打开 .vscode/settings.json 文件(如不存在则新建)。

2、添加以下配置项:

“jest.pathToJest”: “pnpm jest”

或(针对全局 Jest):

“jest.pathToJest”: “jest –runInBand”

三、启用自动测试运行与内联报告

该设置可让插件在保存文件后自动触发相关测试,并在编辑器右侧边栏显示测试树状结构及状态图标,提升反馈效率。

1、打开 VSCode 设置(Cmd+,),切换到“工作区”标签页。

2、搜索 jest.autoRun,将其值设为 onSave

3、搜索 jest.showCoverageOnLoad,勾选该项以在打开文件时自动加载覆盖率高亮。

四、修复快照测试失败时的差异对比问题

当快照测试失败时,插件应支持点击“Update Snapshot”按钮或使用快捷键更新,但部分项目因未生成 __snapshots__ 目录或 jest.config.js 中 snapshotResolver 配置冲突而失效。

1、确认项目中存在 src/__tests__/Component.test.tsx 类似路径的测试文件,且其同级目录下有 __snapshots__ 子目录。

2、检查 jest.config.js 是否包含如下禁止性配置:

“snapshotResolver”: “./snapshot-resolver.js”

3、如存在,临时注释该行并重启 VSCode 的 Jest 服务(通过命令面板 Cmd+Shift+P → 输入 Jest: Restart Runner)。

五、解决调试断点不生效问题

VSCode 默认不将 Jest 测试进程附加到调试器,需配置 launch.json 启用 node.js 调试协议支持,否则断点始终呈灰色不可命中。

1、在项目根目录下创建 .vscode/launch.json 文件(如不存在)。

2、填入以下配置:

{

“version”: “0.2.0”,

“configurations”: [

{“type”: “node”, “request”: “launch”, “name”: “Debug Jest Tests”, “runtimeArgs”: [“–inspect-brk”, “${workspaceFolder}/node_modules/jest/bin/jest.js”, “–runInBand”], “console”: “integratedTerminal”, “internalConsoleOptions”: “neverOpen”}

]

}

text=ZqhQzanResources