簡體   English   中英

調用函數的Click事件

[英]Click event that calls a function

我正在創建一個Jasmine測試,以查看單擊對象$('#notification')時是否正在調用該函數。

這是.cshtml文件中的代碼:

$('#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.

我做錯了嗎? 我想念什么嗎? 我是茉莉的新手。

編輯:這是showNotification的外觀。

function showNotification () { 
    loadNotification('', ''); 
    resetFields(); 
 }

編輯:找到了我的問題的解決方案。 我使用以下代碼來模擬點擊。

 $('#notification').on('click', function () {
           showNotification();
 });
 $('#notification').click();

我現在能夠測試是否調用了showNotification以及showNotification中的loadNotification和resetFields。

感謝那些回應。 有沒有人會關閉這個?

結果表明,您已將偵聽器添加到按鈕,但從未通過單擊操作觸發它。

添加此點擊操作以觸發測試:

$('#notification').trigger('click');

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM