0

私はNode.jsで簡単なRESTサービスを書いています(実験しているだけです)。Nodeがまだ十分に成熟しているかどうかを調べようとしています。ユニットテストにもNodeUnitを使用しています。

現在、NodeUnitは、HttpUtilsを使用してGETリクエストをテストするためのテストフレームワークとして正常に機能しますが、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リクエストをテストするには何が必要ですか?
  • 単体テストでPOSTリクエストをテストする必要がありますか、それとも統合テストに該当し、別のアプローチを使用する必要がありますか?
4

2 に答える 2

3

nodeunit の代わりにこのライブラリを試すことができます: https://github.com/masylum/testosterone

これは、http 経由で Web アプリをテストするために特別に構築されています。

于 2011-08-10T17:28:24.177 に答える
0

nodeunit を使用して HTTP サーバーをテストするために、このライブラリを作成しました。

https://github.com/powmedia/nodeunit-httpclient

于 2011-10-23T23:51:58.047 に答える