Javascript sinon存根数组对象

Javascript sinon存根数组对象,javascript,sinon,Javascript,Sinon,已经阅读了官方文件并进行了搜索,但我仍然不知道这一点 简单源代码: // obj is an object with an array element // each element in array has its function if (obj.arr['key1']) { return obj.arr['key1'].getValue(); } 我想要的是控制对象arr,例如: var stub = sinon.stub(obj, "arr"); stub['key2'].re

已经阅读了官方文件并进行了搜索,但我仍然不知道这一点

简单源代码:

// obj is an object with an array element
// each element in array has its function
if (obj.arr['key1']) {
    return obj.arr['key1'].getValue();
}
我想要的是控制对象arr,例如:

var stub = sinon.stub(obj, "arr");
stub['key2'].returns = {...} //add new Index 
delete stub['key1'].returns //remove old Index

可以在数组中存根函数,如下所示:

myObj = {

    myArray: [
    function(){}, 
    function(){}, 
    function(){}
    ]
}

var stub = sinon.stub(myObj.myArray, [0]).returns() //insert what should be returned
使用:


如果您想在存根后自动清理。

谢谢您的回复。根据你的回答,对我的坏问题有一些误解(这不是你的错)。但是它仍然可以帮助我理解
sinon.stub/spy/mock
中第二个参数的操作。
describe ('foo', function () {

    it ('foo', sinon.test(function () {

        this.stub (myObj.myArray, [0]).returns();

    }))
}