2
我想爲各種自定義的angularjs指令編寫unit和e2e測試,這些指令將javascript事件綁定添加到它們所連接的元素。AngularJS:如何在測試中調用事件處理程序並檢測綁定
在測試中,使用jQuery方法模擬click和dblclick事件很容易。
element("#id").click();
不過,我也綁定鼠標懸停,鼠標移開和文本菜單事件,並沒有找到一種方法在端對端測試調用這些。下面的代碼顯示了我正在採用的方法。
it('should show a context menu when the user right clicks on a grid row',
function() {
//not currently triggering the context menu
var outerRow = element(".ngRow", "outer row");
var row = element(".ngRow:first > div", "row");
angular.element(row).triggerHandler("contextmenu");
expect(outerRow.attr("class")).toContain("open");
});
如何獲取contextmenu事件以在測試中觸發?
同樣,在指令的單元測試中,我希望能夠檢測事件綁定是否已附加到元素。
我怎樣才能做到這一點?