【问题标题】:Testing responses in node.js?在 node.js 中测试响应?
【发布时间】:2012-02-24 13:01:07
【问题描述】:

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

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

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

【问题讨论】:

    标签: unit-testing node.js mocha.js


    【解决方案1】:

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

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

    使用请求的简单 Mocha 示例:

    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(); 
                }); 
            }); 
        });
    });
    

    希望这会有所帮助。这是我使用这种风格进行的 Mocha (CoffeeScript) 测试示例,并附有完整的详细示例:https://github.com/jprichardson/logmeup-server/blob/develop/test/integration/app.test.coffee 哦,它也使用了 Superagent。

    【讨论】:

      猜你喜欢
      • 2019-01-08
      • 2011-06-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-08-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多