我正在Node.js中编写一个简单的REST服务(只是试验),试图弄清楚Node是否已经足够成熟。我也在使用NodeUnit进行单元测试。
现在,NodeUnit可以作为测试GET请求的测试框架,使用HttpUtils,但测试POST请求似乎并不明显。
测试GET如下所示:
exports.testHelloWorld = function(test) {
test.expect(1);
httputil(app.cgi(), function(server, client) {
client.fetch('GET', '/', {}, function (resp) {
test.equals('hello world'), resp.body);
test.done();
});
});
}
但是如何测试POST请求呢?我可以将'GET'更改为'POST'并尝试将某些内容写入'client',但是在调用.fetch之前这不起作用,因为还没有连接。并且它在.fetch回调函数中也不起作用,因为此时请求已经被执行。
我查看了nodeunit代码,目前似乎没有支持POST数据。所以这是我的问题:
答案 0 :(得分:3)
您可以尝试使用此库而不是nodeunit:https://github.com/masylum/testosterone
它专门用于通过http测试网络应用。
答案 1 :(得分:0)
我刚刚编写了这个库,用于测试带有nodeunit的HTTP服务器: