Windows10下VSCode配置Jasmine+Nodemon持续运行并调试
我来帮你搞定这个调试+自动测试的需求!你当前的脚本已经实现了文件变更时自动跑测试,但要在VS Code里设置断点调试,需要调整两个核心配置:package.json的脚本,以及VS Code的调试配置文件。
第一步:优化package.json的scripts
你现有的test脚本可以保留用于普通自动测试,再新增一个专门用于调试的脚本,用--inspect-brk替代--inspect——这个参数会让Node.js在启动时就暂停,确保VS Code的调试器能及时连上,不会错过断点。
修改后的scripts如下:
"scripts": { "test": ".\\node_modules\\.bin\\nodemon --ext js --exec ".\\node_modules\\.bin\\jasmine"", "test:debug": ".\\node_modules\\.bin\\nodemon --inspect-brk=9229 --ext js --exec ".\\node_modules\\.bin\\jasmine"" }
--inspect-brk=9229:指定调试端口为9229(Node.js默认调试端口),并在进程启动时暂停- 保留原
test脚本,用于不需要调试的场景
第二步:配置VS Code的launch.json
要让VS Code能附加到nodemon启动的调试进程,需要创建/修改调试配置文件:
- 打开VS Code,按
F5键,选择Node.js作为环境,自动生成.vscode/launch.json - 将内容替换为以下配置:
{ "version": "0.2.0", "configurations": [ { "type": "node", "request": "attach", "name": "Attach to Jasmine Debug", "port": 9229, "restart": true, "skipFiles": [ "<node_internals>/**" ] } ] }
关键参数说明:
request: "attach":我们是要附加到已经启动的调试进程(由nodemon+--inspect-brk启动)restart: true:nodemon会在文件变更时重启进程,这个选项让调试器自动重新附加,不用手动重复操作port: 9229:必须和package.json脚本里指定的端口一致skipFiles:跳过Node.js内部的核心文件,避免调试时进入无关代码
第三步:开始调试的操作流程
- 打开终端,运行
npm run test:debug,终端会显示类似Debugger listening on ws://127.0.0.1:9229/xxxxxx的信息,此时进程处于暂停状态 - 在VS Code中打开你要调试的
.spec.js测试文件,或者被测试的源文件,点击行号左侧设置断点(红点标记) - 按
F5启动VS Code调试,此时调试器会附加到nodemon的进程上,进程会继续执行,触发你设置的断点 - 当你修改代码或测试文件时,nodemon会自动重启测试进程,调试器会自动重新附加,断点依然会正常触发
额外小技巧
如果你只想调试某个特定的测试文件,可以修改test:debug脚本,指定具体的spec文件路径:
"test:debug": ".\\node_modules\\.bin\\nodemon --inspect-brk=9229 --ext js --exec ".\\node_modules\\.bin\\jasmine spec/your-target-spec.js""
这样每次只运行指定的测试文件,调试效率更高。
内容的提问来源于stack exchange,提问作者dvsoukup
相关产品推荐
相关产品推荐

