2012-10-09 14 views
5

私はnode.jsモジュールでHTTP POSTでJSONリクエストを受け取ります。node.js httpクライアントをmochaでテストする方法は?

正しいURL、ヘッダー、リクエストボディをテストしてリクエストが実際に実行されるようにしたいと考えています。

私は、テストフレームワークとしてMochaを使用しています。どうすればテストできますか?

答えて

-1

SuperTestsuperagentと組み合わせて試してください。 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); 
    }) 
}) 
+1

私はnode.jsのhttpクライアントのリクエストでサーバではないと考えています。 –

+0

@zemirco、ライブアプリケーションサーバーをこのテストファイルに渡すにはどうすればいいですか?私はサーバーとは別にテストを実行する方が好きです。 –

1

あなたはnockを使用することができます。 httpリクエストと特定のプロパティを傍受することができます

0

私はこのタイプのものにSinon.jsを使用しました。

MyHttpClientクラスのテストを簡素化するために、リクエストオブジェクトをコンストラクタのパラメータとして受け取ります。提供されていない場合、require 'request'だけを使用します。

関連する問題