2012-02-24 77 views
7

我剛纔下載mocha.js,並已進行了一些基本的測試與expect.js,以保證它的正常工作。在node.js中測試響應?

但是關於在特定的網址在我node應用程序測試的反應是什麼? I.e如何測試我從導航到/users獲得的迴應?

利用快報,mocha.js的前身,我可以做assert.response(server, req, res|fn[, msg|fn])和測試響應。

回答

6

這是一兩件事,我喜歡的Node.js/JavaScript的,做這樣的事情很簡單,一旦你得到了它的竅門。

總之,您運行您的服務器代碼,然後實際使用Request或Superagent來發出這些HTTP請求。我個人更喜歡Superagent,因爲它是自動JSON編碼,但要小心,文檔已過時並且不正確,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(); 
      }); 
     }); 
    }); 
}); 

希望幫助。下面是我的摩卡咖啡(CoffeeScript)測試樣本,使用這種風格的完整詳細示例:https://github.com/jprichardson/logmeup-server/blob/develop/test/integration/app.test.coffee哦,它也使用Superagent。