2016-03-24 11 views
4

これに類似した3つの別個の質問がありますが、私の場合と似ていません。ネストされた関数呼び出しをスロンでスクロール

だから私は基本的にパラメータ私はmyfunc2のスタブを作ることができるようにしたい私のユニットテストで

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

としての機能を取る機能があります。基本的には、ネストされたスタブであるスタブをスタブできる必要があります。私は現在、この種のマニュアルスタブを使用していますが、方法があればサイロンスタブを使ってやります。

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

誰もこの状況に直面したことはありませんか。この問題を解決する簡単な方法はありますか?

答えて

1

sinon documentationからは、リターンセクション

stub.returns(OBJ)を確認することができます。
スタブが指定された値を返すようにします。

あなたは次のことを試すことができます。

まず、あなたがあなたの内側の機能をスタブていることを確認し、その後、それはあなたが必要な値を返すようにする必要があります。

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

外部関数をスタブし、スタブされた内部関数でオブジェクトを返すようにします。

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

あなたにも、てmyfunc機能で、このパターンに従うとのparam func_outerStubとして渡すことができます。

関連する問題