0

我有这个中间件功能,用可组合中间件包编写。

var compose = require('composable-middleware');

module.exports.isAuthenticated = function () {
  return compose()
    .use(function (req, res, next) {
        var authToken = req.get('x-auth-token');
        if (!authToken) {
            return res.sendStatus(401);
        }
        next();
    });
};

我尝试用 Sinon.js 存根它。如果是这样

module.exports.isAuthenticated = function (req, res, next) {
    var authToken = req.get('x-auth-token');
    if (!authToken) {
        return res.sendStatus(401);
    }
    next();
};

我会做的

sinon.stub(auth, 'isAuthenticated').callsArg(2);

但问题是我的函数使用可组合中间件,我不知道如何存根。

4

1 回答 1

0

实际上,解决方案非常简单。

var compose = require('composable-middleware');

sinon.stub(auth, 'isAuthenticated', function() {
    return compose()
      .use(function (req, res, next) {
        next();
      });
  });
于 2016-10-20T13:18:34.917 回答