我能做到:
但是如何使用节点检查器调试nodeunit测试?
我试过了,但没有工作:
nodeunit --debug myNodeUnitModule_test.js
它不起作用。nodebug /usr/local/bin/nodeunit myNodeunit_test.js
但它既不在ubuntu(No such file or directory
)也不在mac(env: node\r: No such file or directory
)上工作几乎可以使用 node --debug /usr/local/bin/nodeunit ./routes/edit/bodyTelInfoArraysToObject_test.js
其中/usr/local/bin/nodeunit
是命令which nodeunit
获得输出:
debugger listening on port 5858
并在那里执行测试。
但我无法跳入调试器:当我在chrome中打开url localhost:8080
来观看调试时:
在我的nodeunit测试中,我写了debugger
以停止调试。
但没什么。
答案 0 :(得分:11)
在您的测试中插入debugger;
命令
exports['Main test'] = function(test){
debugger;
test.expect(1);
test.ok(true, 'Must be ok');
test.done();
};
然后开始这一切
$ node --debug-brk `which nodeunit` test.js
现在在浏览器中按F8,然后按F10,在测试中第一个debugger;
命令后,您就在下一行。
但我更喜欢使用node-supervisor启动所有内容,在测试完成或项目目录中的文件发生更改时自动重启测试:
$ npm -g install supervisor node-inspector
$ # console 1
$ # supervisor restarts node-inspector when it quits
$ # ignores file changes
$ supervisor -i . -x node-inspector .
$ # console 2
$ supervisor --debug-brk -- `which nodeunit` test/index.js
答案 1 :(得分:3)
找到解决方案:
: 节点--debug-brk`哪个nodeunit` ./path/To/My/NodeUnitTests/nodeunit_test.coffee (注意:`哪个nodeunit`在后引号中)
在另一个控制台中:
node-inspector &
在Google Chrome中打开:http://0.0.0.0:8080/debug?port=5858
在这里,我从一开始就看到nodeunit debuging。在浏览器中单击几次继续执行,直到跳转到nodeunit test,其中我有debugger;
字符串。所以我用nodeinspector