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 相关文章推荐
qTip 基于JQuery的Tooltip插件[兼容性好]
Sep 01 Javascript
浅析JavaScript中的同名标识符优先级
Dec 06 Javascript
一个网页标题title的闪动提示效果实现思路
Mar 22 Javascript
javascript实现汉字转拼音代码分享
Apr 20 Javascript
Javascript的无new构建实例详解
May 15 Javascript
微信小程序 navigation API实例详解
Oct 02 Javascript
使用jQuery实现鼠标点击左右按钮滑动切换
Aug 04 jQuery
vue实现移动端图片裁剪上传功能
Aug 18 Javascript
vue实现密码显示隐藏切换功能
Feb 23 Javascript
vue router 跳转时打开新页面的示例方法
Jul 28 Javascript
react-router-dom 嵌套路由的实现
May 02 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
PHP中nowdoc和heredoc使用需要注意的一点
2014/03/21 PHP
PHP面向对象程序设计之接口用法
2014/08/20 PHP
iis 7下安装laravel 5.4环境的方法教程
2017/06/14 PHP
php根据地址获取百度地图经纬度的实例方法
2019/09/03 PHP
javascript 面向对象 function类
2010/05/13 Javascript
jquery 之 $().hover(func1, funct2)使用方法
2012/06/14 Javascript
浅谈javascript构造函数与实例化对象
2015/06/22 Javascript
JavaScript基本的输出和嵌入式写法教程
2015/10/20 Javascript
基于jquery步骤进度条源码分享
2015/11/12 Javascript
学习javascript面向对象 实例讲解面向对象选项卡
2016/01/04 Javascript
JavaScript新增样式规则(推荐)
2016/07/19 Javascript
浅谈toLowerCase和toLocaleLowerCase的区别
2016/08/15 Javascript
轻松实现js弹框显示选项
2016/09/13 Javascript
JS控制HTML元素的显示和隐藏的两种方法
2016/09/27 Javascript
vue中用H5实现文件上传的方法实例代码
2017/05/27 Javascript
详解React Native 采用Fetch方式发送跨域POST请求
2017/11/15 Javascript
Vue axios设置访问基础路径方法
2018/09/19 Javascript
JavaScript生成随机验证码代码实例
2019/09/28 Javascript
Python入门篇之对象类型
2014/10/17 Python
Python使用random和tertools模块解一些经典概率问题
2015/01/28 Python
在Django框架中设置语言偏好的教程
2015/07/27 Python
Python面向对象程序设计OOP入门教程【类,实例,继承,重载等】
2019/01/05 Python
用django设置session过期时间的方法解析
2019/08/05 Python
HTML5 图片悬停放大的实现代码示例
2019/12/04 HTML / CSS
皇家道尔顿官网:Royal Doulton
2017/12/06 全球购物
德国大型和小型家用电器网上商店:Energeto
2019/05/15 全球购物
网友共享的几个面试题关于Java和Unix等方面的
2016/09/08 面试题
代领报检证委托书范本
2014/10/11 职场文书
2014年学校禁毒工作总结
2014/12/23 职场文书
先进个人事迹材料范文
2014/12/30 职场文书
升学宴答谢词
2015/01/05 职场文书
委托书格式范文
2015/01/28 职场文书
公司承诺书格式范文
2015/04/28 职场文书
魂断蓝桥观后感
2015/06/10 职场文书
葬礼主持词
2015/07/02 职场文书
Python Django 后台管理之后台模型属性详解
2021/04/25 Python