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计算页面刷新的次数
Jul 20 Javascript
jQuery 开发者应该注意的9个错误
May 03 Javascript
Javascript图像处理思路及实现代码
Dec 25 Javascript
JS短路原理的应用示例 精简代码的途径
Dec 13 Javascript
js中用window.open()打开多个窗口的name问题
Mar 13 Javascript
JavaScript异步编程Promise模式的6个特性
Apr 03 Javascript
javascript 注释代码的几种方法总结
Jan 04 Javascript
layer弹出层框架alert与msg详解
Mar 14 Javascript
react-router中的属性详解
Jun 01 Javascript
vue+ElementUI实现订单页动态添加产品数据效果实例代码
Jul 13 Javascript
JointJS JavaScript流程图绘制框架解析
Aug 15 Javascript
小程序实现投票进度条
Nov 20 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
使用Apache的rewrite技术
2006/06/22 PHP
php微信支付之APP支付方法
2015/03/04 PHP
在WordPress中获取数据库字段内容和添加主题设置菜单
2016/01/11 PHP
PHP序列化操作方法分析
2016/09/28 PHP
PhpStorm的使用教程(本地运行PHP+远程开发+快捷键)
2020/03/26 PHP
JavaScript基本对象
2007/01/11 Javascript
FLASH 广告之外的链接
2008/12/16 Javascript
读jQuery之十一 添加事件核心方法
2011/07/31 Javascript
jquery实现在页面加载完毕后获取图片高度或宽度
2014/06/16 Javascript
jQuery遍历之next()、nextAll()方法使用实例
2014/11/08 Javascript
javascript中String对象的slice()方法分析
2014/12/20 Javascript
jQuery实现带滚动导航效果的全屏滚动相册实例
2015/06/19 Javascript
使用jquery/js获取iframe父子级、同级获取元素的方法
2016/08/05 Javascript
使用Fullpage插件快速开发整屏翻页的页面
2017/09/13 Javascript
js提取中文拼音首字母的封装工具类
2018/03/12 Javascript
浅析vue cli3 封装Svgicon组件正确姿势(推荐)
2020/04/27 Javascript
[01:10]DOTA2次级职业联赛 - Fly战队宣传片
2014/12/01 DOTA
python开发的小球完全弹性碰撞游戏代码
2013/10/15 Python
Python函数式编程指南(一):函数式编程概述
2015/06/24 Python
实例讲解Python中global语句下全局变量的值的修改
2016/06/16 Python
python实现微信每日一句自动发送给喜欢的人
2019/04/29 Python
Python3.7 新特性之dataclass装饰器
2019/05/27 Python
python实现对象列表根据某个属性排序的方法详解
2019/06/11 Python
Django多个app urls配置代码实例
2020/11/26 Python
详解HTML5新增标签
2017/11/27 HTML / CSS
英国网上超市:Ocado
2020/03/05 全球购物
护士求职推荐信范文
2013/11/23 职场文书
毕业晚会主持词
2014/03/24 职场文书
高中生家长寄语大全
2014/04/03 职场文书
社区学习雷锋活动总结
2014/04/25 职场文书
大学生见习期满自我鉴定
2014/09/13 职场文书
公司股东合作协议书
2014/09/14 职场文书
沙滩主题婚礼活动策划方案
2014/09/15 职场文书
2015年幼儿园学期工作总结
2015/05/22 职场文书
python实现简单区块链结构
2021/04/25 Python
宝塔更新Python及Flask项目的部署
2022/04/11 Python