2017-05-24 7 views
0

sinonを使用してコールバックを呼び出す外部メソッドをどうやって模擬しますか?次のコードは与えられた 例は、のgetTextコールバック関数モックメソッドコールバック関数sinon

sinon.stub(a, 'getText').returns('kkk') 
let cb = function(err, response) { 
    console.log(response) 
} 
a.getText('abc', cb) 

にレスポンスとして「KKK」を返す必要があり、それはコールバック関数CBを呼び出すが、出力がないので、それは「KKK」の出力を生成する必要があり

答えて

2

あなたはPASSE取得する最初の関数の引数を呼び出しますcallsArgWith

sinon.stub(a, 'getText').callsArgWith(1, null, 'kkk') 
let cb = function(err, response) { 
    console.log(response) 
} 
a.getText('abc', cb) 
+0

ありがとうございました..私は0を1に置き換えました.ArgWith – Stanley

+0

@Stanley Rightは1でなければなりません –

2
sinon.stub(a, 'getText').yields(null, 'kkk'); 

yields()を使用することができますdを与えられた引数(null, 'kkk')でスタブ付き関数に追加します。

関連する問題