gpt4 book ai didi

javascript - Sinon stub 未替换测试中的功能

转载 作者:行者123 更新时间:2023-11-28 21:06:40 24 4
gpt4 key购买 nike

我查看了类似的问题,但仍然无法弄清楚为什么我的 sinon stub 不起作用。测试还是调用原来的函数。

userFlow.js

function authorization() {
const options = {
name: 'buzz',
state: 'bazz'
}

return options
}

const credentials = authorization()

async function main() {
return credentials.name;
}


main();

module.exports = {
authorization,
main
};

测试.userFlow.js

const userFlow = require('../userFlow.js');

describe('userFlow()', function() {
it('should authorize', async function() {
options = {
name: 'foo',
state: 'bar',
};
sinon.stub(userFlow, 'authorization').returns(options);
const output = userFlow.main()
assert(output === foo)
})
})

我最终得到输出 === 嗡嗡声。感谢您的帮助。

最佳答案

我认为这里的问题是操作顺序。当你这样做时......

const userFlow = require('../userFlow.js');

它运行这个...

const credentials = authorization()

因此您的 sinon 覆盖无关紧要。我会尝试的是这样的......

async function main(authorization) {
return authorization().name;
}
...
const output = userFlow.main(userFlow.authorization)

关于javascript - Sinon stub 未替换测试中的功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58868109/

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