You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Javascript Debug Terminal内nest.js调试测试无法启动如何解决

NestJS Jest调试启动前中止的修复方案

问题核心原因

出现这个问题是脚本配置和Javascript Debug Terminal的默认逻辑冲突:

  • Javascript Debug Terminal会自动给终端内启动的所有Node进程附加调试能力,不需要手动添加inspect类启动参数
  • 现有脚本里手动加了--inspect-brk参数,一方面会造成调试端口重复占用,另一方面会让Node进程在启动第一行就暂停等待调试器连接,和终端自动附加的调试逻辑冲突,直接卡在启动阶段,不会继续执行测试逻辑。

可直接用的修复方案

方案1:修改脚本适配JS Debug Terminal

直接调整package.json里的test:debug:new脚本,删掉--inspect-brk参数即可:

"test:debug:new": "node -r tsconfig-paths/register -r ts-node/register node_modules/.bin/jest --watch --runInBand"

修改完成后,直接在Javascript Debug Terminal执行yarn run test:debug:new就能正常启动测试,代码里打的断点会正常命中,不会出现启动即中止的问题。

方案2:保留原脚本,换普通终端运行

如果不想修改现有脚本配置,就不要在Javascript Debug Terminal里执行该命令:

  • 打开VS Code的普通终端(无自动调试附加功能的原生bash/终端)
  • 正常执行yarn run test:debug:new
  • 看到调试端口监听的提示后,用VS Code的“附加到Node进程”功能选择对应Jest进程连接即可,--inspect-brk会正常生效,按F5继续就能走到自己设置的断点位置。

避坑提示

  • 需要在测试启动阶段断点的话,不需要依赖--inspect-brk,直接在需要暂停的代码行打普通断点就行,JS Debug Terminal的自动附加可以正常命中
  • 如果启动时报调试端口占用,先把之前卡住的Node进程清理掉再跑,执行pkill -f jest就能杀掉所有残留的Jest进程。

内容的提问来源于stack exchange,提问作者Ruslan Plastun

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.29 15:39:15