以下のコードを書いて、jquery ダイアログが例外的に表示されるかどうかをテストしてみます。
var jqueryMock = sinon.mock(jQuery);
var dialogExpectation = jqueryMock.expects("dialog");
dialogExpectation.once();
//call my function, in which create a jquery dialog.
equals(dialogExpectation.verify(), true, "Dialog is displayed");
jqueryMock.restore();
ただし、次のエラーが表示されます: テスト #1 で死亡しました: 未定義のプロパティ ダイアログを関数としてラップしようとしました - { "メッセージ": "未定義のプロパティ ダイアログを関数としてラップしようとしました", "名前": "TypeError" }
jquery コードは非常に単純です。
displayMessage: function (message, title, hashId) {
//some logic to build the message, title and hashId.
$(messageDiv).dialog({
height: 240,
width: 375,
modal: true,
title: title,
resizable: false,
buttons: [{
text: localizedErrorMessages['OkText'],
click: function () {
$(this).dialog("close");
}
}]
}); // end of dialog
} // end of displayMessage
このシナリオで jquery ダイアログをモックして単体テストを作成する方法を知っている人はいますか?