加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

单元测试 – 如何在angularjs单元测试中触发keyup/keydown事件?

发布时间:2020-12-17 08:37:54 所属栏目:安全 来源:网络整理
导读:我想单元测试一个模拟占位符的指令,其中输入值仅在keyup / down事件时清除。 您需要以编程方式创建事件并触发它。这样做包括jQuery的单元测试是非常有用的。例如,你可以这样写一个简单的实用程序: var triggerKeyDown = function (element,keyCode) { var
我想单元测试一个模拟占位符的指令,其中输入值仅在keyup / down事件时清除。
您需要以编程方式创建事件并触发它。这样做包括jQuery的单元测试是非常有用的。例如,你可以这样写一个简单的实用程序:
var triggerKeyDown = function (element,keyCode) {
    var e = $.Event("keydown");
    e.which = keyCode;
    element.trigger(e);
  };

然后在你的单元测试中使用它:

triggerKeyDown(element,13);

你可以在这里的http://angular-ui.github.io/bootstrap/项目中看到这个技术的行动:https://github.com/angular-ui/bootstrap/blob/master/src/typeahead/test/typeahead.spec.js

免责声明:让我们在这里精确:我不提倡使用jQuery与AngularJS!我只是说,它是一个有用的DOM操作实用程序,用于编写测试与DOM交互。

要使上面的代码工作没有jQuery,更改:

$.Event('keydown')

至:

angular.element.Event('keydown')

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读