gpt4 book ai didi

javascript - 在 sinon 中 stub 嵌套函数调用

转载 作者:搜寻专家 更新时间:2023-11-01 04:30:15 25 4
gpt4 key购买 nike

有三个独立的问题与这个问题类似,但没有一个与我遇到的情况相似。

所以我基本上有一个将函数作为参数的函数

var myfunc ( func_outer ) {
return func_outer().func_inner();
}

在我的单元测试中,我希望能够制作一个 myfunc2 的 stub 。基本上我需要能够 stub 是一个嵌套 stub 。我目前使用这种手动 stub ,但如果有办法,我宁愿使用 sinon stub 。

const func_outer = () => {
return {
func_inner: () => {return mockResponse;}
}
};

有没有人遇到过这种情况。有解决这个问题的简单方法吗?

最佳答案

来自 sinon documentation你可以查看返回部分

stub.returns(obj);
Makes the stub return the provided value.

您可以尝试以下方法:

首先你应该确保你 stub 你的内部函数,然后让它返回你想要的值。

func_innerStub = sinon.stub().returns('mockResponse')  

然后 stub 你的外部函数并让它返回你 stub 的内部函数的对象。

func_outerStub = sinon.stub().returns({func_inner: func_innerStub})

您也可以使用 myfunc 函数遵循此模式,并将 func_outerStub 作为参数传递。

关于javascript - 在 sinon 中 stub 嵌套函数调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36198463/

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