用于 Mocha 测试的 CLI 调试器

CLI debugger for Mocha tests

我希望能够将 debugger 语句(或类似的东西)直接放入我的代码中,并在我 运行 我的测试时获得 REPL,这样我就可以与我的代码进行交互以进行调试东西。

我知道 Node(通过 V8)支持开箱即用的 debugger 语句,但您必须 运行 您的代码带有某些标志(通过 node debugnode --debugnode --debug-brk -- 我不太明白其中的区别)。

Mocha 也有这些相同的标志,当我 运行 mocha debug 我确实在我的终端中得到调试器提示:

< Debugger listening on port 5858
connecting to port 5858... ok
break in node_modules/mocha/bin/_mocha:5
  3  */
  4
> 5 var program = require('commander')
  6   , path = require('path')
  7   , fs = require('fs')
debug>

但是断点在摩卡的代码里,不是我的断点。 This blog post 说你应该输入 run 然后 continue 来到达你的断点,但是当我输入 run 它告诉我 "App is already running..." 并且当我输入continue 它告诉我 "SyntaxError: Illegal continue statement".

它说 "listening on port 5858" -- 我是否需要从某个地方(例如浏览器或其他终端会话)打开到该端口的单独连接?

我看过一些关于 node-inspector 的事情,但我喜欢尽可能多地留在终端中,所以我更喜欢一种无需打开浏览器即可执行此操作的方法。

我是 JS 新手,所以请 ELI5 :)

此外,如果相关的话,我实际上使用的是 io.js,而不是 Node 本身

当 node/iojs 调试器首次启动并连接时,它总是在传递给解释器的脚本的第一行中断。

因为您已经 运行 运行您的应用程序,所以您不需要在此处输入 运行,但您可以只输入 c 继续执行,直到您的断点被设置它。

run 如果程序在调试器中终止时很有用——您可以重新启动它! (您也可以执行 restart 以在调试器中重新启动程序)。