使用 mocha 运行节点检查器

Posted

技术标签:

【中文标题】使用 mocha 运行节点检查器【英文标题】:Run node inspector with mocha 【发布时间】:2017-04-23 01:46:01 【问题描述】:

我似乎无法调试 mocha 脚本。

我可以像node --inspect script.js 这样使用检查器运行节点。然后这给了我一个 url 去调试,比如chrome-devtools://devtools/remote/...

但是,当我将 mocha 与此行 mocha --inspect test.js 一起使用时,我无法调试。它说“调试器正在侦听 [::]:5858”。有什么方法可以让我使用节点的检查器调试 mocha 测试?

转到 localhost:5858 会给我这个信息:

Type: connect
V8-Version: 5.1.281.84
Protocol-Version: 1
Embedding-Host: node v6.9.1
Content-Length: 0

使用--inspect --debug-brk 没有帮助。

【问题讨论】:

使用node-inspector 可能会起作用。但是 node native --inspect 肯定更好。等待解决方案 尝试node --inspect --debug-brk script.js:这应该在脚本的第一行设置一个断点,让您有时间打开 DevTools 面板。 @MarcoL 试过 --debug-brk 但没有解决问题。 您是否在浏览器中复制并粘贴了该 URL (chrome-devtools-etc...)? 这太棒了。测试是如此先进,以至于我们不需要检查员。您不会想念 php 风格的带有 echo 和 print 的调试吗?这是进步! 【参考方案1】:

问题是我的摩卡版本。我运行的版本早于 3.1.0。 --inspect 支持已添加到 3.1.0

我现在可以使用这些行进行调试:

mocha --reporter spec --inspect test.js
mocha --reporter spec --inspect-brk test.js

【讨论】:

【参考方案2】:

[DEP0062] 弃用警告:node --inspect --debug-brk 是 已弃用。请改用node --inspect-brk

以后使用

mocha --reporter spec --inspect-brk test.js

【讨论】:

以上是关于使用 mocha 运行节点检查器的主要内容,如果未能解决你的问题,请参考以下文章

使用 mocha 的 --debug-brk 开关启用节点调试器的正确方法是啥?

在 Amazon AWS 上运行节点检查器

节点 - 使用 mocha 测试时更改输出颜色

节点检查器控制台 - 无法执行命令,而是转到换行符

使用 Mocha 进行 JavaScript 代码自动化测试

用于 TypeScript Mocha 测试的 Vscode 断点