有没有人知道这是否可能?节点检查器的大部分示例似乎都是为了调试被调用的网页而设计的。不过,我希望能够调试jasmine-node测试。
发布于 2011-10-05 12:26:12
我最终编写了一个名为toggle的小工具:
require('tty').setRawMode(true);
var stdin = process.openStdin();
exports.toggle = function(fireThis)
{
if (process.argv.indexOf("debug")!=-1)
{
console.log("debug flag found, press any key to start or rerun. Press 'ctrl-c' to cancel out!");
stdin.on('keypress', function (chunk, key) {
if (key.name == 'c' && key.ctrl == true)
{
process.exit();
}
fireThis();
});
}
else
{
console.log("Running, press any key to rerun or ctrl-c to exit.");
fireThis();
stdin.on('keypress', function (chunk, key) {
if (key.name == 'c' && key.ctrl == true)
{
process.exit();
}
fireThis();
});
}
}您可以将其放入您的单元测试中,如下所示:
var toggle = require('./toggle');
toggle.toggle(function(){
var vows = require('vows'),
assert = require('assert');
vows.describe('Redis Mass Data Storage').addBatch({
....然后像这样运行测试: node --debug myfile.js debug。如果您运行debug,切换将一直等到您按下ctrl-c。Ctrl-c退出。您也可以重新运行,这很好。
w0000t。
发布于 2013-02-26 23:44:57
简而言之,只需调试jasmine-node:
node --debug-brk node_modules/jasmine-node/lib/jasmine-node/cli.js spec/my_spec.js如果查看jasmine-node脚本的源代码,它只会调用cli.js,我发现我可以很好地调试该脚本。
我想使用节点检查器来调试CoffeeScript测试。只需添加--coffee开关就可以了,例如
node --debug-brk node_modules/jasmine-node/lib/jasmine-node/cli.js --coffee spec/my_spec.coffee发布于 2011-07-26 20:38:33
我没有经验的猜测是,你需要修补jasmine,我相信它在运行测试时会产生一个新的节点进程或其他东西,并且这些新进程需要启用调试。
我也有类似的愿望,并设法将Eclipse用作调试器来使用expressso:http://groups.google.com/group/nodejs/browse_thread/thread/af35b025eb801f43
…但是我意识到:如果我需要通过我的代码来理解它,我可能需要重构代码(可能是为了更好地测试),或者将我的测试拆分成更小的单元。
测试就是您的调试器。
https://stackoverflow.com/questions/6162920
复制相似问题