在node.js中测试响应?

Ind*_*ial 7 unit-testing mocha.js node.js

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

但是如何在我的node应用程序中测试特定网址的响应呢?即我如何测试从导航到什么样的响应/users

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

JP *_*son 6

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

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

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

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(); 
            }); 
        }); 
    });
});
Run Code Online (Sandbox Code Playgroud)

希望这会有所帮助.以下是使用此样式的我的Mocha(CoffeeScript)测试示例,其中包含完整的详细示例:https://github.com/jprichardson/logmeup-server/blob/develop/test/integration/app.test.coffee哦,是的,它也在使用Superagent.