2012-02-24 43 views
7

私はちょうどmocha.jsをダウンロードし、それが正常に動作することを確認するためにexpect.jsでいくつかの基本テストを実行しました。node.jsの応答をテストしますか?

しかし、特定のURLで私のnodeアプリケーションの応答をテストするのはどうですか?私は例えば、/usersにナビゲートすることでどのような応答が得られるかテストしますか?

mocha.jsの前身であるExpressoを使用して、assert.response(server, req, res|fn[, msg|fn])を実行して応答をテストすることができました。

答えて

6

これは私がNode.js/Javascriptについて愛していることの1つです。この種のことは、いったんそれをやり遂げれば簡単です。

要するに、サーバーコードを実行してから実際にRequestまたはSuperagentのいずれかを使用してこれらのHTTP要求を行います。私は個人的にはそれが自動JSONエンコーディングのためSuperagentを好んでいますが、ドキュメントは古くて間違っているので注意してください.YMMV。ほとんどの人がリクエストを選択します。

describe('My Server', function(){ 
    describe('GET /users', function(){ 
     it("should respond with a list of users", function(done){ 
      request('http://mytesturl.com/users', function(err,resp,body){ 
       assert(!err); 
       myuserlist = JSON.parse(body); 
       assert(myuserlist.length, 12); 
       done(); 
      }); 
     }); 
    }); 
}); 

うまくいけばできます:リクエストを使用して

シンプルなモカ例。ここに私のモカ(コーヒースクリプト)のサンプルは完全な詳細な例でこのスタイルを使用しています:https://github.com/jprichardson/logmeup-server/blob/develop/test/integration/app.test.coffeeああ、それはまた、スーパーエージェントを使用しています。

関連する問題