如何从依赖单元测试调用辅助函数的快速路由?

时间:2013-05-14 22:10:21

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

我将以下内容作为登录代码的一部分。我已经为authentication.login()编写了单元测试,所以它只是我需要测试的响应处理。

  app.post('/login', function(req, res) {
    var username = req.body.username;
    var password = req.body.password;

    authentication.login(username, password, function(err, result) {
      if (err !== null) {
        res.setHeader('Content-Type', 'text/plain');
        res.setHeader('Content-Length', err.length);
        res.end(err);
      } else {
        req.session.user = result;
        var userFilter = ['username'];
        result = JSON.stringify(result, userFilter);
        res.setHeader('Content-Type', 'application/json');
        res.setHeader('Content-Length', result.length);
        res.end(result);;
      }
    });
  });

因此,我将编写测试,检查响应头和正文是他们应该是什么。但是我如何处理authentication.login()函数?它已经过测试,所以我认为我应该在这里使用模拟/间谍?但是,我如何设法使用它们来替换身份验证对象?或者是否需要模拟authentication.login函数,将它作为依赖项留在代码中是否可以?

1 个答案:

答案 0 :(得分:0)

如果你决定离开,你不需要做出改变就是指依赖。