私は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リクエストをテストする必要がありますか、それとも統合テストに該当し、別のアプローチを使用する必要がありますか?