質問

私はジャスミンとQunitのさまざまなテストケースの仕様を書いており、それらを比較するために、イベントが要素にバインドされているかどうかを確認するためにテストを書く必要がある前に同じように見えました。

イベントバインディングは次のように見えます

$('.page').live('click', function() { page_clicked( $(this) ) });

page_clicked プライベートな方法ですが、別のモジュールの公開方法が必要です。

これがジャスミンの仕様です:

it('should bind events to pages', function() {
    spyOn( search, 'get_results' );

    $('.page:eq(0)').trigger('click');

    expect( search.get_results ).toHaveBeenCalled();
});

このテストは機能します。今、私はQunitの同じテストを書き込もうとしていますが、Spyonに似たものは見つかりません。 Qunitのこのテストを書く方法は?

役に立ちましたか?

解決

その原因Qunitにはスパイや模擬がありません。ただし、使用できます Sinon.js モッキングフレームワーク。あなたのテストはこのように見えるはずです シノンスパイ:

var spy = sinon.spy(search, 'get_results');
sinon.assert.calledOnce(spy);
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top