gpt4 book ai didi

javascript - 我怎样才能用 sinonjs stub 内部引用的函数?

转载 作者:数据小太阳 更新时间:2023-10-29 04:52:10 24 4
gpt4 key购买 nike

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

function b() {
console.log('original b');
}

function a() {
b();
}

exports.a = a
exports.b = b;

以及以下使用 mocha + sinon.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;
})
});

我期待 stub 被调用,但原来的 b 被调用了,为什么?

最佳答案

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

这已从 v3.0.0 中删除。相反,你应该使用 stub (对象,'方法').callsFake(fn)。或者你可以使用 .yields(fn)

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

关于javascript - 我怎样才能用 sinonjs stub 内部引用的函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42148484/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com