与Sinon衔接时获得伊斯坦布尔的报道

时间:2016-10-14 09:16:14

标签: node.js mocha sinon istanbul

我有以下功能,我使用Sinon存根,但在使用伊斯坦布尔时部分无法注册:

var funct1 = function(a, b ,c, callback(err, resp) {
    //do something
      someFunction.authenticate(d, e , callback(error, respObj))

});

someFunction - 同一项目文件夹中的外部模块 as authenticate - someFunction模块中的自定义函数,必须为其创建存根。它返回一个带有两个参数errresp的回调,如下所示

我以下面的方式创建了一个存根,

var sinon = require('sinon');
var functionSub = sinon.stub(the path to someFunction, "authenticate");

functionStub.returns(function() {
   return (null, {});
}

在使用Mocha和伊斯坦布尔时,我测试了覆盖范围,但我无法获得someFunction.authenticate(d,e,回调(错误,respObj))斜体ed线。

我该怎么做?

1 个答案:

答案 0 :(得分:0)

根据我的理解,下面的内容对您有用。

const auth = require('path-to-auth');
const sinon = require('sinon);

describe('Auth', () => {
  it('should call authenticate', () => {
    const authMock = sinon.stub(auth, 'authenticate').returns(() => {});
    // call the function to be tested here
    expect(auth.authenticate.calledOnce).to.equal(true);
    auth.authenticate.restore();
  });
});