我在一台远程计算机上有一个测试文件,我想用node-inspector遍历它。因此,在远程计算机(Vagrantfile文件)上:
node-inspector &
mocha --debug-brk foo.test.js然后,在我的开发机器上打开金丝雀,然后转到:
http://127.0.0.1:8080/debug?ws=127.0.0.1:8080&port=5858但是,我无法调试我的测试,因为调试器将在node_modules/mocha/bin/_mocha的第一行中断,并且我的测试文件在选项卡中不可见

我尝试在_mocha中设置一个断点,在第398项上
runner = mocha.run(program.exit ? exit : exitLater);但是,当我试图“进入”时,要看到run函数执行,它不会介入。我可以在控制台中看到输出,所以它确实执行了。如果我设置了一个断点函数,它就不会在那里崩溃。
此外,测试文件从未出现在“源”选项卡中,因此我无法在其中设置断点。我还尝试向它添加一个debugger语句,但它仍然没有中断。
如何使节点检查器显示测试文件,并逐步执行它?
node v0.12.0
node-inspector v0.10.0
mocha v2.2.4发布于 2015-05-14 16:26:06
其实有两个问题:
第一个问题是在最近发布的node-inspector@v0.10.1中修复的。因此,断点在任何地方都会受到尊重。
还有第二个问题。正如@JMM所说,“源”选项卡中的文件列表是动态的,当进程中断时,测试文件不会出现在那里。我最后所做的是在测试函数运行之前设置一个断点,在mocha/lib/runnable.js#266中,在这一行中:
var result = fn.call(ctx);fn是测试函数。一旦进入测试文件,测试文件将出现在Sources选项卡中,调试器的游标将位于测试函数的第一行。
发布于 2015-05-06 18:48:32
我经常遇到这种情况,我不知道是否有更好的解决方案(如果有,我会很高兴听到它),但我发现我必须让调试器提前到可以知道我想调试的其他文件的程度。如果没有看到更多您的代码,我就无法给出更具体的建议,说明应该在哪里前进,但请试着找出测试文件将在哪些地方加载到可用的源文件中,并前进到那里。随着代码的运行,它将逐渐向源面板添加更多的文件。
https://stackoverflow.com/questions/30083543
复制相似问题