已经阅读了官方文档并进行了搜索,但我仍然不知道这一点。
简单的源代码:
// obj is an object with an array element
// each element in array has its function
if (obj.arr['key1']) {
return obj.arr['key1'].getValue();
}
我想要的是控制obj.arr
,例如:
var stub = sinon.stub(obj, "arr");
stub['key2'].returns = {...} //add new Index
delete stub['key1'].returns //remove old Index
最佳答案
您可以像这样在数组中 stub 函数:
myObj = {
myArray: [
function(){},
function(){},
function(){}
]
}
var stub = sinon.stub(myObj.myArray, [0]).returns() //insert what should be returned
用途:
describe ('foo', function () {
it ('foo', sinon.test(function () {
this.stub (myObj.myArray, [0]).returns();
}))
}
如果您想在 stub 之后自动清理。
关于javascript - sinon stub 数组对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39977977/