2013-06-03 101 views
4

我使用jasmine來測試我的應用程序,現在我的代碼中沒有任何按鈕
但我想寫一個測試,在該測試中我可以檢查點擊事件是否被觸發或不。
你可以簡單地認爲我想點擊沒有按鈕的事件。使用茉莉花測試套件測試點擊事件

這是我事先沒有

scenario('checking that click event is triggered or not', function() { 

    given('Sigin form is filled', function() { 

    }); 
    when('signin button is clicked ', function() { 
     spyOn($, "click"); 
     $.click(); 

    }); 
    then('Should click event is fired or not" ', function() { 
     expect($.click).toHaveBeenCalled(); 
    }); 
}); 

感謝。

+0

我不認爲..this需要jQuery的標籤....現在取出...... – bipen

+0

哪一個@bipen? – Ancient

+0

我的意思是說這個問題被標記爲jquery ...我認爲你的問題是無關的..所以我刪除了jquery標籤.... – bipen

回答

5

我通常傾向於做的是create a stub並將事件分配給存根。然後觸發click事件,並檢查是否有人稱之爲

describe('view interactions', function() { 
    beforeEach(function() { 
     this.clickEventStub = sinon.stub(this, 'clickEvent'); 
    }); 

    afterEach(function() { 
     this.clickEvent.restore(); 
    }); 

    describe('when item is clicked', function() { 
     it('event is fired', function() { 
      this.elem.trigger('click'); 
      expect(this.clickEventStub).toHaveBeenCalled(); 
     }); 
    }); 
});