Angular单元测试之事件触发的实现


Posted in Javascript onJanuary 20, 2020

=在angular项目中时常有一些click、input、focusout等事件操作,那么如何在单元测试中触发这些事件呢?

一、触发Click事件

// 方法一
const ele = fixture.debugElement.query(By.css("#id"));
ele.triggerEventHandler('click', null)
fixture.detectChanges(); // 更新视图

// 方法二
const ele = fixture.nativeElement.querySelector("#id");
ele.click();
fixture.detectChanges(); // 更新视图

二、触发input事件

触发input事件,需要在获取到input元素后,先给输入框绑定值,然后去触发输入事件,最后更新视图。

const input = fixture.nativeElement.querySelector("#input");
input.value = 'abc';
input.dispatchEvent(new Event('input'));
fixture.detectChanges(); // 更新视图

二、触发focusout事件

const input = fixture.nativeElement.querySelector("#input");
input.dispatchEvent(new Event('focusout'));
fixture.detectChanges(); // 更新视图

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
动态添加option及createElement使用示例
Jan 26 Javascript
js调试工具Console命令详解
Oct 21 Javascript
详解JavaScript基于面向对象之继承实例
Dec 16 Javascript
js判断上传文件后缀名是否合法
Jan 28 Javascript
jquery ztree实现树的搜索功能
Feb 25 Javascript
jQuery轻松实现表格的隔行变色和点击行变色的实例代码
May 09 Javascript
Bootstrap table两种分页示例
Dec 23 Javascript
vue实现一个炫酷的日历组件
Oct 08 Javascript
使用ThinkJs搭建微信中控服务的实现方法
Aug 08 Javascript
vue+springboot图片上传和显示的示例代码
Feb 14 Javascript
vue2.* element tabs tab-pane 动态加载组件操作
Jul 19 Javascript
浅谈JavaScript中等号、双等号、 三等号的区别
Aug 06 Javascript
vue elementui 实现搜索栏公共组件封装的实例代码
Jan 20 #Javascript
D3.js 实现带伸缩时间轴拓扑图的示例代码
Jan 20 #Javascript
阿望教你用vue写扫雷小游戏
Jan 20 #Javascript
JavaScript Window窗口对象属性和使用方法
Jan 19 #Javascript
浅谈webpack和webpack-cli模块源码分析
Jan 19 #Javascript
js原生map实现的方法总结
Jan 19 #Javascript
Node.js操作MongoDB数据库实例分析
Jan 19 #Javascript
You might like
用Socket发送电子邮件(利用需要验证的SMTP服务器)
2006/10/09 PHP
php 归并排序 数组交集
2011/05/10 PHP
迪菲-赫尔曼密钥交换(Diffie?Hellman)算法原理和PHP实现版
2015/05/12 PHP
PHP CURL 多线程操作代码实例
2015/05/13 PHP
Codeigniter中集成smarty和adodb的方法
2016/03/04 PHP
javascript 面向对象思想 附源码
2009/07/07 Javascript
Javascript 网页黑白效果实现代码(兼容IE/FF等)
2010/04/23 Javascript
浏览器打开层自动缓慢展开收缩实例代码
2013/07/04 Javascript
分享两个手机访问pc网站自动跳转手机端网站代码
2020/12/24 Javascript
jQuery中animate动画第二次点击事件没反应
2015/05/07 Javascript
如何在JS中实现相互转换XML和JSON
2016/07/19 Javascript
AngularJS ng-app 指令实例详解
2016/07/30 Javascript
Knockout结合Bootstrap创建动态UI实现产品列表管理
2016/09/14 Javascript
JS中的作用域链
2017/03/01 Javascript
前端vue+elementUI如何实现记住密码功能
2020/09/20 Javascript
js实现有趣的倒计时效果
2021/01/19 Javascript
[01:38]完美世界DOTA2联赛PWL S3 集锦第四期
2020/12/21 DOTA
Python Queue模块详解
2014/11/30 Python
python读取TXT到数组及列表去重后按原来顺序排序的方法
2015/06/26 Python
详解Django框架中用户的登录和退出的实现
2015/07/23 Python
使用python绘制常用的图表
2016/08/27 Python
python命令行参数用法实例分析
2019/06/25 Python
python 杀死自身进程的实现方法
2019/07/01 Python
简单了解Python变量作用域正确使用方法
2020/06/12 Python
医学生个人求职信范文
2013/09/24 职场文书
工商学院毕业生自荐信
2013/11/12 职场文书
关于人生的感言
2014/01/17 职场文书
大学校园活动策划书
2014/02/04 职场文书
护士求职信
2014/07/05 职场文书
我的中国梦演讲稿小学篇
2014/08/19 职场文书
防邪知识进家庭活动方案
2014/08/26 职场文书
公务员党的群众路线教育实践活动学习心得体会
2014/10/30 职场文书
2015年秋季灭鼠工作总结
2015/07/27 职场文书
莫言诺贝尔获奖感言(全文)
2015/07/31 职场文书
祝福语集锦:给满月宝宝的祝福语
2019/11/20 职场文书
golang语言指针操作
2022/04/14 Golang