そとでよ - モトコ・モリのインドア生活

元ひきこもりの気ままな生活。

sinonJSコールバック関連

sinon.jsのスタブについて、コールバック関連メモ。

stub.callArg(argNum)

引数をコールするという名の通り、スタブの引数に設定されてたコールバック関数を発火させる。stub.callsArg(0)ならば最初の、1なら2番目に設定したコールバックが実行されるという具合。

stub.callArgWith(argNum, [arg1, arg2...])

上記callArgと同様にコールバックを発火できる。2個目以降の引数にはコールバック用の引数を渡すことができる。

stub.yields([arg1, arg2, ...])

callArgと同じくコールバック関数を発火させることができる。インデックスを指定できないため、何番目のコールバック関数を発火させるか指定できない。引数を指定した場合は、コールバック関数の引数として認識される。 stub.callArgWith(0, aaa, bbb)
stub.yields(aaa, bbb)
は、同じ動きをする。 あまり使いどころがない気がする。

f:id:bi_mini:20180621230300p:plain ロゴマークがギリシャ風のおじさんなのは、敵に投降したふりをしてトロイの木馬を運び込んだギリシャ神話の人物シノンに由来するため。