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 相关文章推荐
JavaScript arguments 多参传值函数
Oct 24 Javascript
刷新页面的几种方法小结(JS,ASP.NET)
Jan 07 Javascript
javascript中直接引用Microsoft的COM生成Word
Jan 20 Javascript
js Calender控件使用详解
Jan 05 Javascript
14个有用的Jquery技巧分享
Jan 08 Javascript
JavaScript的React Web库的理念剖析及基础上手指南
May 10 Javascript
JS简单获取客户端IP地址的方法【调用搜狐接口】
Sep 05 Javascript
原生JS实现网络彩票投注效果
Sep 25 Javascript
Angular 2父子组件数据传递之局部变量获取子组件其他成员
Jul 04 Javascript
Vuejs学习笔记之使用指令v-model完成表单的数据双向绑定
Apr 29 Javascript
Vue插件之滑动验证码用法详解
Apr 05 Javascript
jquery实现穿梭框功能
Jan 19 jQuery
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
改写ThinkPHP的U方法使其路由下分页正常
2014/07/02 PHP
php计算数组相同值出现次数的代码(array_count_values)
2015/01/20 PHP
PHP基于cookie与session统计网站访问量并输出显示的方法
2016/01/15 PHP
php中使用websocket详解
2016/09/23 PHP
PHP读取文件,解决中文乱码UTF-8的方法分析
2020/01/22 PHP
javascript 放大镜效果js组件 qsoft.PopBigImage.v0.35 加入了chrome支持
2009/04/07 Javascript
javascript 内存回收机制理解
2011/01/17 Javascript
jQuery 源码分析笔记(3) Deferred机制
2011/06/19 Javascript
40个有创意的jQuery图片和内容滑动及弹出插件收藏集之三
2012/01/03 Javascript
有关于eclipse配置spket需要注意的一些地方
2013/04/07 Javascript
JavaScript实现表格排序方法
2013/06/14 Javascript
js获取IP和PcName(IE)在vs中可用
2013/08/02 Javascript
js中精确计算加法和减法示例
2014/03/28 Javascript
JavaScript获得页面base标签中url的方法
2015/04/03 Javascript
利用jquery制作滚动到指定位置触发动画
2016/03/26 Javascript
JavaScript代码性能优化总结篇
2016/05/15 Javascript
实现React单页应用的方法详解
2016/08/02 Javascript
JavaScript 网页中实现一个计算当年还剩多少时间的倒数计时程序
2017/01/25 Javascript
详解在vue-cli项目中安装node-sass
2017/06/21 Javascript
layui点击导航栏刷新tab页的示例代码
2018/08/14 Javascript
JavaScript变速动画函数封装添加任意多个属性
2019/04/03 Javascript
在antd Table中插入可编辑的单元格实例
2020/10/28 Javascript
vue常用高阶函数及综合实例
2021/02/25 Vue.js
[11:01]2014DOTA2西雅图邀请赛 冷冷带你探秘威斯汀
2014/07/08 DOTA
[47:21]Liquid vs TNC Supermajor 胜者组 BO3 第一场 6.4
2018/06/05 DOTA
Pyramid将models.py文件的内容分布到多个文件的方法
2013/11/27 Python
APIStar:一个专为Python3设计的API框架
2018/09/26 Python
浅谈sklearn中predict与predict_proba区别
2020/06/28 Python
Django Session和Cookie分别实现记住用户登录状态操作
2020/07/02 Python
瑞典的玛丽小姐:Miss Mary of Sweden
2019/02/13 全球购物
StubHub美国:购买或出售您的门票
2019/07/09 全球购物
MIRTA官网:手工包,100%意大利制造
2020/02/11 全球购物
有模特经验的简历自我评价
2013/09/19 职场文书
2015年设计师个人工作总结
2015/04/25 职场文书
勤俭节约主题班会
2015/08/13 职场文书
python实现语音常用度量方法的代码详解
2021/05/25 Python