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

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

脚本

我试图使用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,但其余代码继续并调用next().

提前感谢您的建议.

最佳答案 仍然有错误.对于单元测试,您的代码应如下所示:

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

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

围绕apiMethod的函数是多余的

点赞