vscode不运行cypress,仅调用系统cypress cli;“run”无反应或报command not found主因是路径未匹配,需将cypress.runcommand设为npx cypress run/open,确认cypress.configfile路径正确(如"tests/e2e/cypress.config.ts"),cypress.config.js须用commonjs导出,调试必须通过插件“debug”按钮启动。

VSCode 本身不运行 Cypress,它只是调用你系统里已安装的 cypress CLI;点“Run”没反应、终端报 command not found: cypress,问题基本就出在路径没对上或配置没匹配。
为什么点“Run”没反应?检查 cypress.runCommand 和执行路径
VSCode 插件(如 Cypress Test Explorer)默认找全局安装的 cypress,但现代项目普遍用 npx cypress 避免版本冲突。直接依赖全局安装容易引发 ERR_OSSL_EVP_UNSUPPORTED(尤其 Node.js 与 Cypress 大版本错配时)。
- 在 VSCode 设置中搜索
cypress.runCommand,改为npx cypress run或npx cypress open - 别改
PATH或硬装全局cypress:项目里devDependencies有cypress就够了,npx会自动定位到node_modules/.bin/cypress - 验证是否生效:在 VSCode 集成终端运行
npx cypress open—— 能打开 GUI,说明项目依赖正常;插件仍不工作,就是runCommand没配对
Cypress Test Explorer 找不到测试?确认 cypress.configFile 路径和格式
这个插件不是靠“有没有配置文件”工作的,而是严格按路径+文件名+导出语法匹配。放错位置、写错后缀、用错语法,测试列表直接为空。
- 插件默认只识别工作区根目录下的
cypress.json或cypress.config.js(注意:不是.ts) - 如果你的配置在
tests/e2e/cypress.config.ts,必须在 VSCode 工作区设置里加:"cypress.configFile": "tests/e2e/cypress.config.ts"(路径相对于工作区根) -
cypress.config.js必须用 CommonJS:module.exports = { ... };ESM 写法(export default)在多数插件版本中静默失败 -
e2e.setupNodeEvents里如果用了async函数或顶层await,某些插件版本会卡住——调试时先注释掉,看测试列表是否恢复
断点调试停不住?必须走 Electron 调试通道
Cypress 运行在 Electron 环境里,不是普通 Node.js 进程。debugger 语句只有在正确连接调试器时才生效,纯靠 launch.json 配 node 类型是无效的。
- 必须点击插件里的 “Debug” 按钮(小虫图标),而不是 “Run” 按钮
- 或者手动终端执行:
npx cypress open --browser electron,再在 GUI 中选测试——这样 Chrome DevTools 才会和 VSCode 同步断点 - 别碰
launch.json里自定义的program指向node_modules/.bin/cypress:Cypress 不接受普通 Node 启动方式,会启动失败或无响应
最常被忽略的一点:Cypress Test Explorer 插件不提供可视化测试面板,它只是个“快捷入口”。真正跑测试、看截图、查失败详情,得靠 npx cypress open 启动的独立桌面应用。VSCode 里看不到测试树,八成是配置文件路径没被插件读到,而不是插件没装好。











