2012-12-05 35 views
1

with angularJs 1.0.2我創建了一個簡單的指令,綁定單擊元素上的事件。angularjs triggerHandler沒有在單元測試中發射綁定事件

我試着用testacular

var linked; 
beforeEach(inject(function($rootScope, $compile) { 
    scope = $rootScope.$new(); 
    var widget_definition = '<a href="path" my-directive="">click here</a>'; 
    linked = $compile(widget_definition); 
})); 

it('chceck logic on click', function() { 
    var button = linked(scope); 
    // this doesnt work so I give up :/ 
    button.triggerHandler('click'); 
}); 

到單元測試,但它告訴我,有按鈕元素定義沒有這樣的功能。但這已經是jQ(lite)對象,而在其他測試中,我可以使用爲jQlite定義的方法。

這是一個角度錯誤?

回答

2

triggerHandler1.0.3

添加下面是一個不拋出exeception http://jsfiddle.net/jaimem/c5Tfw/1/

順便說一句,如果你正在處理用戶界面的變化,你可能想要做端到端測試中的jsfiddle。

+0

我們有硒測試,但有時只是簡單的單元測試,只是激發邏輯很好。無論如何感謝回答 –