2011-09-27 77 views
0

我正在尝试为node.js库,code.js编写简单的qunit测试。第一个测试用例是我尝试的最简单的测试用例,不会在我的code.js库中使用任何导出的函数,但它不起作用。在node.js中用qunit测试http.get()

的QUnit模块如下:

module = QUnit.module 

var = http.require('http'); 

test("client test", function(){ 
    expect(1); 
    var options = { 
     host: 'www.google.es', 
     port: 80, 
     path: '/' 
    } 
    http.get(options, function(res){ 
     ok(true, "http.get callback success"); 
    }); 
}); 

我认为,问题之一是,GET回调之前的测试执行完成被执行,但我真的不知道。也许其余的问题是,我是一个初学者,所以我会真正赞扬任何评论。

解决方案:我会用一个asyncTest:

asyncTest("client test", function(){ 
    expect(1); 
    var options = { 
     host: 'www.google.es', 
     port: 80, 
     path: '/' 
    } 
    http.get(options, function(res){ 
     ok(true, "http.get callback success"); 
     start(); 
    }); 
}); 

回答

0

说实话,这个API似乎是一种事后的想法,但我认为你正在寻找asyncTest而不是测试

https://github.com/kof/node-qunit/blob/master/test/api.js#L107-115

不是这个模块的粉丝。

+0

当然,我需要使用asyncTest,我已经尝试过,但没有正确的方式。因此,为了用QUnit成功编写异步测试,必须在断言之后调用start()。我将编辑我的问题以发布工作代码。 – dysfuntcional