Http 如何使用NodeUnit和Express测试POST请求?

Http 如何使用NodeUnit和Express测试POST请求?,http,node.js,express,nodeunit,Http,Node.js,Express,Nodeunit,我正在Node.js中编写一个简单的REST服务(只是试验),试图弄清楚Node是否已经足够成熟。我还使用NodeUnit进行单元测试 现在,NodeUnit可以很好地作为测试GET请求的测试框架,使用HttpUtils,但是,测试POST请求似乎并不明显 测试GET如下所示: exports.testHelloWorld = function(test) { test.expect(1); httputil(app.cgi(), function(server, client)

我正在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请求需要什么
  • 我甚至应该在单元测试中测试POST请求,还是应该在集成测试中使用另一种方法

您可以尝试使用此库而不是nodeunit:


它是专门为通过http测试web应用而构建的。

您可以尝试使用此库而不是nodeunit:


它是专门为通过http测试web应用而构建的。

我刚刚编写了这个库,用于使用nodeunit测试http服务器:


我刚刚编写了这个库,用于使用nodeunit测试HTTP服务器:


由于您已经在使用
express
我建议您看看express附带的测试框架。特别是因为您已经在使用
express
我建议您看看express附带的测试框架。明确地