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 相关文章推荐
js实现图片放大缩小功能后进行复杂排序的方法
Nov 08 Javascript
window.event.keyCode兼容IE和Firefox实现js代码
May 30 Javascript
Jquery解析json字符串及json数组的方法
May 29 Javascript
javascript字符串循环匹配实例分析
Jul 17 Javascript
jQuery使用zTree插件实现树形菜单和异步加载
Feb 25 Javascript
javascript拖拽应用实例
Mar 25 Javascript
JS 插件dropload下拉刷新、上拉加载使用小结
Apr 13 Javascript
前端图片懒加载(lazyload)的实现方法(提高用户体验)
Aug 21 Javascript
基于Vue SEO的四种方案(小结)
Jul 01 Javascript
js实现登录拖拽窗口
Feb 10 Javascript
Vue实现背景更换颜色操作
Jul 17 Javascript
vue界面发送表情的实现代码
Sep 11 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
php MySQL与分页效率
2008/06/04 PHP
解析php中const与define的应用区别
2013/06/18 PHP
PHP用户注册邮件激活账户的实现代码
2017/05/31 PHP
Laravel如何友好的修改.env配置文件详解
2017/06/07 PHP
JsDom 编程小结
2011/08/09 Javascript
可在线编辑网页文字效果代码(单击)
2013/03/02 Javascript
jQuery实现点击文本框弹出热门标签的提示效果
2013/11/17 Javascript
Bootstrap4一次重大更新 几乎涉及每行代码
2016/05/16 Javascript
javascript事件模型介绍
2016/05/31 Javascript
JavaScript 中 apply 、call 的详解
2017/03/21 Javascript
vue+vuex+axios实现登录、注册页权限拦截
2018/03/09 Javascript
JavaScript实现异步图像上传功能
2018/07/12 Javascript
详解webpack-dev-middleware 源码解读
2020/03/23 Javascript
js实现小球在页面规定的区域运动
2020/06/16 Javascript
[54:53]2014 DOTA2国际邀请赛中国区预选赛 LGD-GAMING VS CIS 第二场
2014/05/23 DOTA
Python urlopen 使用小示例
2008/09/06 Python
python抽象基类用法实例分析
2015/06/04 Python
Python的Flask开发框架简单上手笔记
2015/11/16 Python
Python排序搜索基本算法之希尔排序实例分析
2017/12/09 Python
浅谈python正则的常用方法 覆盖范围70%以上
2018/03/14 Python
Java与Python两大幸存者谁更胜一筹呢
2018/04/12 Python
python3+PyQt5+Qt Designer实现扩展对话框
2018/04/20 Python
Python使用dict.fromkeys()快速生成一个字典示例
2019/04/24 Python
Python内置数据类型list各方法的性能测试过程解析
2020/01/07 Python
Python hashlib常见摘要算法详解
2020/01/13 Python
Flask模板引擎Jinja2使用实例
2020/04/23 Python
AE美国鹰日本官方网站: American Eagle Outfitters
2016/12/10 全球购物
Supersmart英国:欧洲市场首批食品补充剂供应商之一
2018/05/05 全球购物
eBay英国购物网站:eBay.co.uk
2019/06/19 全球购物
欧克利英国官网:Oakley英国
2019/08/24 全球购物
2014年五四青年节活动策划书
2014/04/22 职场文书
医疗器械售后服务承诺书
2014/05/21 职场文书
2014年度工作总结报告
2014/12/15 职场文书
计划生育目标责任书
2015/05/09 职场文书
李强优秀员工观后感
2015/06/16 职场文书
校园运动会广播稿
2015/08/19 职场文书