私はnode.jsモジュールでHTTP POSTでJSONリクエストを受け取ります。node.js httpクライアントをmochaでテストする方法は?
正しいURL、ヘッダー、リクエストボディをテストしてリクエストが実際に実行されるようにしたいと考えています。
私は、テストフレームワークとしてMochaを使用しています。どうすればテストできますか?
私はnode.jsモジュールでHTTP POSTでJSONリクエストを受け取ります。node.js httpクライアントをmochaでテストする方法は?
正しいURL、ヘッダー、リクエストボディをテストしてリクエストが実際に実行されるようにしたいと考えています。
私は、テストフレームワークとしてMochaを使用しています。どうすればテストできますか?
SuperTestをsuperagentと組み合わせて試してください。 ExpressからのすべてのテストはSuperTestと書かれています。例えば
:
var request = require('supertest')
, express = require('express');
var app = express();
app.get('/user', function(req, res){
res.send(201, { name: 'tobi' });
});
describe('GET /users', function(){
it('respond with json', function(done){
request(app)
.get('/user')
.set('Accept', 'application/json')
.expect('Content-Type', /json/)
.expect(200, done);
})
})
あなたはnockを使用することができます。 httpリクエストと特定のプロパティを傍受することができます
私はこのタイプのものにSinon.jsを使用しました。
MyHttpClientクラスのテストを簡素化するために、リクエストオブジェクトをコンストラクタのパラメータとして受け取ります。提供されていない場合、require 'request'だけを使用します。
私はnode.jsのhttpクライアントのリクエストでサーバではないと考えています。 –
@zemirco、ライブアプリケーションサーバーをこのテストファイルに渡すにはどうすればいいですか?私はサーバーとは別にテストを実行する方が好きです。 –