存储使用Sinon进行回调的方法

时间:2015-11-17 07:25:09

标签: javascript node.js mocha sinon chai

我想知道我的方法是否正确,以及类似情况的最佳做法是什么。

方案

我正在尝试使用Sinon.js在我的authController中存根函数调用,它接受两个参数并在Callback函数中处理结果以将其传递给Next()回调。类似的东西:

  // requestController.js
  module.exports = function(req, res, next) {
     authController.handle(req, res, function(apiMethod) {

        if (apiMethod !== undefined || apiMethod !== null) {
             apiMethod(next);
        } else {
             next();
        }
     });
 };

上面的方法是在我的requestController中调用的,它处理所有请求并需要authController来检查身份验证。

问题是如何使用sinon来存根或模拟authController的行为并返回假apiMethod但其余代码继续并调用{{ 1}}。

提前感谢您的推荐。

1 个答案:

答案 0 :(得分:1)

仍然有错误。对于单元测试,您的代码应如下所示:

 module.exports = function(req, res, next) {
     apiMethod = function() {
        //your code goes here
     }

     authController.handle(req, res, apiMethod);
 };

围绕apiMethod的函数是多余的