【问题标题】:Mocking using mocha in NodeJs在 NodeJs 中使用 mocha 进行模拟
【发布时间】:2012-08-27 17:47:13
【问题描述】:

如何使用 NodeJs 在 Mocha 中模拟客户端和服务器。 具体来说,我有以下代码:

app.post ('path name', function (req, res) { 
  // Some Action 
  res.send(response); 
});

我想模拟reqres 参数并测试res(状态、标题、消息)。

【问题讨论】:

    标签: node.js mocking mocha.js


    【解决方案1】:

    Mocha 本身不提供 mock/stub/spy 类型的功能。 Sinon 是一个流行的库。主页包含测试 ajax 及其 Fake XMLHTTPRequest 对象的示例。

    【讨论】:

    • 您能否更清楚地说明您是在尝试执行集成测试还是单元测试?除非知道这一点,否则对此的答案将是错误的。
    • @SonOfNun 因为他在谈论模拟响应,所以他很可能指的是单元测试。但你是对的,需要在原问题中说清楚。
    【解决方案2】:

    我发现Node-Fakeweb 很有用

    var request = require('request'); 
      // Mocking a client request 
      request.get({ uri: 'URI', body: 'body' }, function (err, resp, body) {
        // Some Action
      });
    }); 
    

    【讨论】:

      【解决方案3】:

      您可以将 mocha 与 supertest 一起使用来模拟请求。这是一个关于如何做到这一点的精彩教程: http://thewayofcode.wordpress.com/2013/04/21/how-to-build-and-test-rest-api-with-nodejs-express-mocha/

      【讨论】:

      • Supertest 用于集成测试,而不是单元测试,因为它触及真正的端点并且需要数据库后端。
      猜你喜欢
      • 1970-01-01
      • 2015-12-16
      • 1970-01-01
      • 2015-12-16
      • 1970-01-01
      • 1970-01-01
      • 2014-02-28
      • 2021-09-14
      • 2013-06-01
      相关资源
      最近更新 更多