在node.js中testing响应?

我刚刚下载了mocha.js并用expect.js运行了一些基本的testing,以确保它正常工作。

但是在我的node应用程序中testing特定url的响应呢? 也就是说,我如何testing我从导航到/users得到什么答案?

使用mocha.js的前身Expresso,我可以做assert.response(server, req, res|fn[, msg|fn])并testing响应。

这是我喜欢Node.js / Javascript的一件事情,做这种事情很简单,一旦你掌握了它。

简而言之,您运行服务器代码,然后实际使用Request或Superagent来发出这些HTTP请求。 我个人比较喜欢Superagent,因为它是自动的JSON编码,但要小心,文档是过时的,不正确的,YMMV。 大多数人select请求。

使用请求的简单摩卡示例:

 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)testing的一个样本,使用这个样式完整详细的例子: https : //github.com/jprichardson/logmeup-server/blob/develop/test/integration/app.test.coffee哦,也正在使用Superagent。