1

使用 angularJs 1.0.2 我创建了绑定到元素上的单击事件的简单指令。

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

这是角度的错误吗?

4

1 回答 1

2

triggerHandler1.0.3中添加

这是一个不会抛出异常的 JSFiddle http://jsfiddle.net/jaimem/c5Tfw/1/

顺便说一句,如果您正在处理 UI 更改,您可能需要进行 e2e 测试。

于 2012-12-05T13:26:12.307 回答