首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用节点检查器调试jasmine-node测试

使用节点检查器调试jasmine-node测试
EN

Stack Overflow用户
提问于 2011-05-29 00:33:27
回答 3查看 9K关注 0票数 31

有没有人知道这是否可能?节点检查器的大部分示例似乎都是为了调试被调用的网页而设计的。不过,我希望能够调试jasmine-node测试。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-10-05 12:26:12

我最终编写了一个名为toggle的小工具:

代码语言:javascript
复制
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();
        });



    }
}

您可以将其放入您的单元测试中,如下所示:

代码语言:javascript
复制
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。

票数 9
EN

Stack Overflow用户

发布于 2013-02-26 23:44:57

简而言之,只需调试jasmine-node:

代码语言:javascript
复制
node --debug-brk node_modules/jasmine-node/lib/jasmine-node/cli.js spec/my_spec.js

如果查看jasmine-node脚本的源代码,它只会调用cli.js,我发现我可以很好地调试该脚本。

我想使用节点检查器来调试CoffeeScript测试。只需添加--coffee开关就可以了,例如

代码语言:javascript
复制
node --debug-brk node_modules/jasmine-node/lib/jasmine-node/cli.js --coffee spec/my_spec.coffee
票数 32
EN

Stack Overflow用户

发布于 2011-07-26 20:38:33

我没有经验的猜测是,你需要修补jasmine,我相信它在运行测试时会产生一个新的节点进程或其他东西,并且这些新进程需要启用调试。

我也有类似的愿望,并设法将Eclipse用作调试器来使用expressso:http://groups.google.com/group/nodejs/browse_thread/thread/af35b025eb801f43

…但是我意识到:如果我需要通过我的代码来理解它,我可能需要重构代码(可能是为了更好地测试),或者将我的测试拆分成更小的单元。

测试就是您的调试器。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6162920

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档