【发布时间】:2015-07-16 23:47:57
【问题描述】:
我在远程机器上有一个测试文件,我想用node-inspector 浏览它。所以,在远程机器上(Vagrantfile):
node-inspector &
mocha --debug-brk foo.test.js
然后,在我的开发机器上,我打开 Canary 并转到:
http://127.0.0.1:8080/debug?ws=127.0.0.1:8080&port=5858
但是,我无法调试我的测试,因为调试器会在node_modules/mocha/bin/_mocha 的第一行中断,并且我的测试文件在Sources 选项卡中不可见 :
我尝试在 _mocha 中设置断点,在 line 398:
runner = mocha.run(program.exit ? exit : exitLater);
但是当我尝试“进入”时,看到 run 函数执行时,它没有进入。我可以在控制台中看到输出,所以它确实执行了。如果我设置断点directly in the run function,它就不会在那里中断。
此外,test file 从未出现在“源”选项卡中,因此我无法在其中设置断点。我还尝试向其中添加debugger 语句,但它仍然没有中断。
如何让 node-inspector 显示测试文件,并单步执行?
node v0.12.0
node-inspector v0.10.0
mocha v2.2.4
【问题讨论】:
-
那么,你如何通过
http://127.0.0.1从你的开发机器访问远程机器? -
@JMM 远程端口 5858 和 8080 转发到本地 5858 和 8080
-
啊,好的,谢谢。您是否可以创建此问题的最小复制品,我可以从 GitHub 或其他地方克隆?
-
@JMM 我做了一个 repo 来重现这个问题:github.com/mrotaru/node-inspector-test 这是一个 Vagrant 盒子,所以你可以简单地
vagrant up准备好一切
标签: javascript node.js mocha.js node-inspector