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 用に定義されたメソッドを使用できます。

これはAngularのバグですか??

4

1 に答える 1

2

triggerHandler1.0.3で追加されました

これは、例外をスローしない JSFiddle ですhttp://jsfiddle.net/jaimem/c5Tfw/1/

ところで、UI の変更を扱っている場合は、e2e テストを実行することをお勧めします。

于 2012-12-05T13:26:12.307 に答える