オブジェクト$('#notification')
がクリックされたときに関数が呼び出されているかどうかを確認するためのジャスミンテストを作成しています。ここで関数を呼び出すイベントをクリックします。
$('#notification').click(function() {
showNotification();
});
が私の現在のジャスミンのテストです:
describe("Notification", function() {
beforeEach(function() {
loadFixtures('dashboard.cshtml');
});
it("should call function when notification is clicked", function() {
spyOn(window, 'showNotification');
$('#notification').click();
expect(window.showNotification).toHaveBeenCalled();
});
});
しかし、私はこの結果を取得しています:
Test 'Notification:should call function when notification is clicked' failed
Expected spy showNotification to have been called.
をここで
は.cshtml
ファイルからのコードです私はそれが間違っていたのですか?何か不足していますか?私はジャスミンが初めてです。
EDIT:showNotificationの外観は次のとおりです。
function showNotification() {
loadNotification('', '');
resetFields();
}
EDIT:私の問題の解決策を見つけました。私はクリックをシミュレートするために次のコードを使用しました。
$('#notification').on('click', function() {
showNotification();
});
$('#notification').click();
私は今showNotificationが呼び出されてもshowNotificationにありloadNotificationとresetFieldsされているかどうかをテストすることができています。
回答したユーザーに感謝します。これを閉じる人がいますか?
は 'window.showNotification'が存在し、その関数が別の関数内にネストされていないことを確認します。 –
ネストされていないことを確認して、ここでは大事です - フィクスチャファイルを表示できますか? dashboard.cshtml –
@DarrenSweeney私はdashboard.cshtml内のコードを表示できませんが、showNotificationはこの関数のようになります。showNotification(){ loadNotifiction( ''、 ''); resetFields(); } –