我有以下功能,我使用Sinon存根,但在使用伊斯坦布尔时部分无法注册:
var funct1 = function(a, b ,c, callback(err, resp) {
//do something
someFunction.authenticate(d, e , callback(error, respObj))
});
someFunction - 同一项目文件夹中的外部模块
as authenticate - someFunction模块中的自定义函数,必须为其创建存根。它返回一个带有两个参数err
和resp
的回调,如下所示
我以下面的方式创建了一个存根,
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线。
我该怎么做?
答案 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();
});
});