在sinon中存根嵌套函数调用
Stubbing nested function calls in sinon
有三个单独的问题与此问题相似,但没有一个与我的情况相似。
所以我基本上有一个函数,它把一个函数作为参数
var myfunc ( func_outer ) {
return func_outer().func_inner();
}
在我的单元测试中,我希望能够制作myfunc2的存根。基本上,我需要能够存根,这是一个嵌套的存根。我目前使用这种手动存根,但如果有办法的话,我宁愿使用sinon存根。
const func_outer = () => {
return {
func_inner: () => {return mockResponse;}
}
};
有人遇到过这种情况吗。有没有一种简单的方法来解决这个问题?
从sinon文档中,您可以查看退货部分
stub.return(obj)
使存根返回所提供的值。
您可以尝试以下操作:
首先,您应该确保您截断了内部函数,然后让它返回您想要的值。
func_innerStub = sinon.stub().returns('mockResponse')
然后存根您的外部函数,使其返回带有存根的内部函数的对象。
func_outerStub = sinon.stub().returns({func_inner: func_innerStub})
您可以使用myfunc函数遵循此模式,并将func_outerStub作为参数传递。
相关文章:
- 从对象命名空间环境中的嵌套setInterval调用嵌套函数
- 如何从jQuery中的另一个函数调用嵌套函数
- 调用Javascript OOP中的嵌套函数
- AngularJs&Javascript嵌套函数&他们的调用
- 在sinon中存根嵌套函数调用
- JavaScript:嵌套函数的动态调用
- 嵌套函数调用 nodejs
- 如何在javascript中调用嵌套函数
- 使用 ajax 调用返回嵌套函数的值时出现问题
- 在类 JavaScript 中调用嵌套函数
- Javascript,对嵌套函数的调用
- 如何调用 jQuery 嵌套函数
- 使用 onclick() 调用嵌套函数
- 嵌套函数中变量的值在定义时计算,而不是在调用时计算
- 使用嵌套控制器调用函数
- 我可以在JavaScript中嵌套函数吗?它们会被自动调用吗
- Javascript嵌套函数调用优化
- 嵌套函数调用的下划线_.bind()问题
- Javascript嵌套函数调用
- promise如何与嵌套函数调用一起工作