Jquery trigger()在end2end测试中的角度场景测试运行器中不起作用

时间:2013-01-04 18:47:36

标签: jquery angularjs jasmine

我知道绑定到角度“控制器”中的jquery事件不符合这个框架哲学,但它允许我将asp.net mvc项目中的视图逐步迁移到角度。这适用于运行时但我无法测试。如果我在“controller”中的输入字段上绑定了jquery事件'keydown',并且我尝试在我的测试场景中触发()此事件(我正在使用angular-scenario.js),这个事件根本就没有在“controller”中收到。我不能使用input()。enter(),因为这个输入不是模型的一部分(正如我在开始时所说的那样)。问题:是否可以从场景中触发事件?如果没有,我应该使用不同的测试跑步者吗?

2 个答案:

答案 0 :(得分:2)

上面的链接指向角度UT而不是e2e情况,您可以通过其查询api触发e2e中的dom事件,例如

    element('#something_id').query(function(el, done){
        var evt = document.createEvent('Event');
        evt.initEvent('focus', false, true);
        el[0].dispatchEvent(evt);
        done();
    });

答案 1 :(得分:0)

您可以查看AngularJS测试。他们使用browserTrigger(element, 'keydown');来触发元素上的DOM事件。

这是example from AngularJS source