使用Node.js中的调试器检查方法链

时间:2012-08-16 01:32:49

标签: javascript debugging node.js chaining soda

我正在尝试调试这种事情:

browser
  .chain
  .session()
  .open('/')
  .type('q', 'Hello World')
  .click('btnG')
  .waitForTextPresent('Hello World')
  .getTitle(function(title){
    assert.ok(~title.indexOf('hello world'), 'Title did not include the query: ' + title);
  })
  .click('link=Advanced search')
  .waitForPageToLoad(2000)
  .assertText('css=#gen-query', 'Hello World')
  .assertAttribute('as_q@value', 'Hello World')
  .end(function(err){
    browser.testComplete(function(){
      console.log('done');
      if (err) throw err;
    });
  });

我设法直接使用node debug app.js或使用node-inspectorchrome来连接调试器。但是,当我尝试在.click('btnG')创建一个断点时,它不起作用,它只在链的末尾创建一个断点。 node.js似乎将整个链条视为单一陈述。

如何逐步调试这种链接?你怎么能在这里注入一个REPL?谢谢!

1 个答案:

答案 0 :(得分:2)

尝试使用underscore.js中的tap方法