【问题标题】:nodejs/express testingnodejs/express 测试
【发布时间】:2011-04-12 11:30:53
【问题描述】:

我正在用 express 写一个应用程序。

主文件名为server.js

其中一个对象是

var app = express.createServer(express.logger(),
    express.bodyDecoder());

那我有

app.get("/",function(req, res){
  res.send("Running");
}

我如何使用 expresso,[或任何其他测试框架 问题],测试路由输出?

我查看了 expresso 网站,但不知道如何获得它 大家一起努力,如果有人给我一个短的,有可能吗? 例子?

谢谢!

【问题讨论】:

    标签: javascript unit-testing asynchronous node.js


    【解决方案1】:

    我相信你现在已经找到了答案,但你有没有尝试过这样的事情:

    assert.response(server, {
        url: '/',
        method: 'GET'
    },{
        body: '{"name":"tj"}',
        status: 200,
        headers: {
            'Content-Type': 'application/json; charset=utf8',
            'X-Foo': 'bar'
        }
    });
    

    【讨论】:

    • 我最近一直在考虑写一个基于NodeJS assert 的测试套件。你会建议这样做吗?我的意思是这样做会减少我的项目中的依赖项数量......看起来它可能更容易,更灵活。
    • 如果您可以仅使用断言编写一个体面的测试套件,那就太好了。话虽如此,Mocha 作为依赖项非常轻量级,并为您提供了许多很酷的功能。
    【解决方案2】:

    如果您是 Node.js 新手并且对所有不同的测试库感到困惑:

    Expresso 的继任者是Mocha。在 Mocha 中,您使用单独的工具进行 HTTP 响应测试,例如 RequestSuperTestzombie.js 等。

    Zombie.js 似乎是最容易学习如何使用的,尤其是。 w/ cookie 和基于 cookie 的会话。它“跨请求维护状态:历史记录、cookie、HTML5 本地和会话存储等”

    【讨论】:

      猜你喜欢
      • 2015-07-13
      • 2020-07-20
      • 2020-02-15
      • 2016-09-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多