angularjs triggerHandler在单元测试中没有触发绑定事件

时间:2012-12-05 09:14:11

标签: unit-testing angularjs angular-scenario

with angularJs 1.0.2我创建了一个简单的指令,它绑定了元素上的click事件。

我试图用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定义的方法。

这是一个有角度的错误

1 个答案:

答案 0 :(得分:2)

1.0.3

中添加了

triggerHandler

这是一个不抛出异常{JS-3}的

的JSFiddle 不过,如果您正在处理UI更改,您可能需要进行e2e测试。