2012-02-24 65 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。