我能做到:
我可以使用nodeunit测试node.js模块。
我可以使用node inspector调试node.js express站点。
但是如何使用节点检查器调试nodeUnit测试呢?
我试过了,但没有工作:
它不工作。
我试图安装nodebug。
像这样使用它:nodeunit --debug myNodeUnitModule_test.js
但是它既不在Ubuntu(nodebug /usr/local/bin/nodeunit myNodeunit_test.js
)上工作,也不在Mac(No such file or directory
)上工作。
差不多可以了
node --debug /usr/local/bin/nodeunit ./routes/edit/bodyTelInfoArraysToObject_test.js
其中env: node\r: No such file or directory
是命令所采用的路径
得到输出:/usr/local/bin/nodeunit
在那里执行测试。
但是我不能加入调试:当我打开chrome中的urlwhich nodeunit
来观看调试时:
第一次加载我看到空文件列表
第二次加载:找不到页面。
在我的nodeUnit测试中,我写了debugger listening on port 5858
来停止调试。
但什么都没有。
最佳答案
在测试中插入命令
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;
命令之后,您就可以进入下一行了。但我更喜欢使用节点管理器启动所有内容,这些节点管理器在测试完成或项目目录中的文件更改时自动重新启动测试:
$ 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