VSCode点“运行测试”没反应,主因是jest/vitest未本地安装、配置文件路径错误或testMatch未覆盖测试文件;Test Explorer仅是UI,依赖适配器加载和命令可执行性。

VSCode 里点“运行测试”没反应,大概率不是插件装错了,而是 jest 或 vitest 本身没在项目里装好、没配对、或者路径没认准——Test Explorer 只是 UI,不负责执行。
为什么 Test Explorer 显示 “No tests found”
这不是 UI 问题,是适配器根本没加载成功,或加载了但找不到可执行的测试命令。
- 检查终端里是否能直接运行
npx jest或npx vitest:不能跑通,Test Explorer 就一定失败 - 确认
package.json里有有效的"test"脚本,比如"test": "vitest";没有的话,vitest-test-adapter默认会 fallback 到这个脚本,而不是自动读取vitest.config.ts - 如果测试文件放在
src/tests/或用了.spec.tsx后缀,Jest 需在jest.config.js中显式加testMatch: ["**/*.spec.{js,ts,tsx}"],否则静默跳过 - Vitest 用户注意:
vitest-explorer不支持全局安装的vitest(比如用pnpm dlx vitest),必须本地装在node_modules里
装哪个扩展才真正起作用
别只搜 “Jest” 或 “Test”,要按框架精准装适配器,且必须配合 UI 主体。
- 必装两个基础扩展:
hbenl.vscode-test-explorer(UI 层) +ms-vscode.test-adapter-converter(桥接旧版 adapter) - Jest 推荐用:
kavod-io.vscode-jest-test-adapter(兼容 Jest 29+,比老牌orta.vscode-jest更稳) - Vitest 必装:
webfreak.vitest-explorer(注意它不兼容 pnpm 的dlx,只认node_modules/.bin/vitest) - Mocha 对应:
hbenl.vscode-mocha-test-adapter,且确保mocha在项目node_modules中,不是全局
Debug 按钮点了没反应?断点不生效的真因
调试失败几乎从不因为“插件没装好”,而是环境隔离导致进程启动失败或变量未透传。
详细的 Three.js 3D 图形参考,涵盖场景设置、相机、几何体、材质、光照、动画、控制器、加载器、数学工具和调试。
立即学习“前端免费学习笔记(深入)”;
- VS Code 调试测试时默认不加载项目里的
jest.config.js或.env,mock 和路径常因此失效 - Jest 调试需在
.vscode/launch.json中显式启用"autoAttachChildProcesses": true,否则 Babel/TS transform 进程里的代码打不了断点 - TypeScript 项目若用
ts-jest,确保jest.config.js中transform和globals.ts-jest配置完整,否则调试时解析失败静默退出 - Node 版本不匹配也会卡住:Vitest ≥ 2.0 要求 Node ≥ 18.0,Jest 29+ 建议 Node ≥ 18.12;用
nvm切错版本会导致 adapter 启动即崩溃
配置文件放错位置就白忙活
Test Explorer 只扫描当前打开的文件夹(即工作区根),子包、monorepo 子目录、配置文件放错一层,全盘失效。
- 多根工作区(workspace file)下,每个文件夹都得有自己完整的
package.json和测试依赖,vitest.config.ts不能只放在 workspace 根目录 - Jest 若配置在
packages/foo/jest.config.js,就得在 VS Code 设置中手动指定"jest.pathToJest": "npx --prefix packages/foo jest" - Python 项目同理:
pytest.ini或pyproject.toml必须在测试文件所在目录的父级,且该目录需被识别为源码根(python.defaultInterpreterPath或PYTHONPATH影响识别)
最常被忽略的一点:VS Code 的 Test Explorer 不会自动 reload 你刚改完的 jest.config.js 或 vitest.config.ts,改完必须手动点击测试面板右上角的刷新按钮,或者重启窗口。没点刷新,一切配置变更都只是“看起来配好了”。

















