NodeUnitおよびExpressでリクエスト後のテストをテストする方法は?
質問
Node.js(実験だけ)で簡単な休憩サービスを書いており、ノードがまだ十分に成熟しているかどうかを把握しようとしています。また、ユニットテストにはnodeunitを使用しています。
Nodeunitは、HTTputilsを使用して、Get-Requestsをテストするためのテストフレームワークとして正常に動作しますが、リクエスト後のテストは明らかではないようです。
テストは次のようになります:
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();
});
});
}
しかし、リクエスト後のテストをテストするにはどうすればよいですか? 「Get」を「投稿」に変更して、「クライアント」に何かを書き込もうとすることができますが、接続がまだないため、フェッチが呼び出される前にこれは機能しません。また、その時点でリクエストが既に実行されているため、.Fetch Callback関数でも機能しません。
NodeUnitコードを調べましたが、現時点ではデータの投稿をサポートしていないようです。だからここに私の質問があります:
- 要求後のテストには何が必要ですか?
- ユニットテストでリクエスト後のテストをテストする必要がありますか、それとも統合テストに該当し、別のアプローチを使用する必要がありますか?
解決
NodeUnitの代わりにこのライブラリを試すことができます。 https://github.com/masylum/testosterone
HTTPを介してWebアプリをテストするために特別に構築されています。
他のヒント
NodeUnitでHTTPサーバーをテストするためにこのライブラリを作成しました。
所属していません StackOverflow