如何使用sinonjs存储内部引用的函数?

时间:2017-02-09 22:57:31

标签: javascript node.js sinon

我有一个 myModule Node.js模块,其中包含:

const myModule = require('./myModule.js');
const sinon = require('sinon');
const sinonChai = require('sinon-chai');

chai.use(sinonChai);

describe('not working stub', () => {
  it('should call the stub', () => {
    let stub = sinon.stub(myModule, 'b', () => { console.log('stubbed b')});
    myModule.a();
    expect(stub).to.have.been.called;
  })
});

以下测试套件使用mocha + sinon.js:

AddAsync()

我期待调用存根,但原来的b会被调用,为什么?

1 个答案:

答案 0 :(得分:0)

var stub = sinon.stub(object,“ method”,func);

此内容已从v3.0.0中删除。相反,您应该使用 存根(object,'method')。callsFake(fn)。 或者,您可以使用.yields(fn)

https://sinonjs.org/releases/latest/stubs/