2016-10-11 11 views
2

公式のドキュメントを読んで検索しましたが、これについてはまだ分かりません。sinon stub配列オブジェクト

シンプルなソースコード:

// 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を制御している欲しい:

myObj = { 

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

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

:あなたはこのような配列に機能をスタブすることができます

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

答えて

2

使用:

describe ('foo', function() { 

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

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

    })) 
} 

スタブの後に自動クリーンアップが必要な場合は、

+0

ご返信ありがとうございます。あなたの答えに基づいて、私の悪い質問の誤解があります(あなたのせいではありません)。しかし、それでも 'sinon.stub/spy/mock'の2番目のパラメータの動作を理解するのに役立ちます。 –

関連する問題