Angular单元测试之事件触发的实现
=在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(); // 更新视图
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。
相关推荐
-
AngularJS 单元测试(二)详解
使用对象模拟注入 我们可以非常容易的使用angularjs的$provider服务用一个对象模拟一个依赖并且注入. 例子如下 angular.module('artists',[]). factory('Artists',['imageStore',function(imageStore){ return { thumb:function(){ return imageStore.thumbnailUrl(id) } } }]) 如何实现 如何确定了服务 1.创建一个URL的引用,稍后会被moc
-
浅谈Angular单元测试总结
测试分类 按开发阶段划分 单元测试 单元测试又称模块测试,针对软件设计中的最小单位--程序模块,进行正确性检查的测试工作. 集成测试 集成测试又叫组装测试,通常在单元测试的基础上,将所有程序模块进行有序的.递增测试.重点测试不同模块的接口部分 系统测试 指的是将整个软件系统看成一个整体进行测试,包括对功能.性能以及软件所运行的软硬件环境进行测试. 验收测试 指按照项目任务书或合同.供需双方约定的验收依据文档进行的对整个系统的测试与评审,决定是否接收或拒收系统 按是否运行划分 静态测试 是指不实际
-
利用Jasmine对Angular进行单元测试的方法详解
前言 本文主要介绍的是关于利用Jasmine对Angular单元测试的相关内容,以下是我假定那些极少或压根没写单元测试的人准备的,因此,会白话解释诸多概念性问题,同时会结合 Jasmine 与之对应的方法进行讲解. 一.概念 Test Suite 测试套件,哪怕一个简单的类,也会有若干的测试用例,因此将这些测试用例集合在一个分类下就叫Test Suite. 而在 Jasmine 就是使用 describe 全局函数来表示,它的第一个字符串参数用来表示Suite的名称或标题,第二个方法参数就是实现
-
对Angular.js Controller如何进行单元测试
一.写个简单的Angular App 在开始写测试之前,我们先写一个简单的计算App,它会计算两个数字之和. 代码如下: <html> <head> <script type="text/javascript" src="https://code.angularjs.org/1.4.0-rc.2/angular.min.js"></script> </head> <body> <!-- T
-
AngularJS 单元测试(一)详解
AngularJS单元测试 网上有很多单元测试的教程,比如如何安装jasmine和ngMock,大家可以搜一下.这里就不在说了.下面重点介绍一个单元测试的过程. 加载一个模块 AngularJS用module来包括应用不同的部分比如controllers,services, filters.为了测试不同的部分,我们需要一个不同模块的引用,并且加载它.Angularjs模块注入使用ngMock模块.ngMock模块能够注入服务service进入单元测试. ngMock暴露出angular.mock
-
angularjs中的单元测试实例
当ng项目越来越大的时候,单元测试就要提上日程了,有的时候团队是以测试先行,有的是先实现功能,后面再测试功能模块,这个各有利弊,今天主要说说利用karma和jasmine来进行ng模块的单元测试. 什么是Karma karma是一个单元测试的运行控制框架,提供以不同环境来运行单元测试,比如chrome,firfox,phantomjs等,测试框架支持jasmine,mocha,qunit,是一个以nodejs为环境的npm模块. 安装测试相关的npm模块建议使用----save-dev参数,因为
-
在JavaScript的AngularJS库中进行单元测试的方法
开发者们都一致认为单元测试在开发项目中十分有好处.它们帮助你保证代码的质量,从而确保更稳定的研发,即使需要重构时也更有信心. 测试驱动开发流程图 AngularJS的代码声称其较高的可测性确实是合理的.单单文档中列出端对端的测试实例就能说明.就像AngularJS这样的项目虽然都说单元测试很简单但真正做好却不容易.即使官方文档中以提供了详尽的实例,但在我的实际应用中却还是很有挑战.这里我就简单示范一下我是怎么操作的吧. Instant Karma Karma 是来Angular团队针对Java
-
使用Angular CLI进行单元测试和E2E测试的方法
第一篇文章是: "使用angular cli生成angular5项目" ://www.jb51.net/article/136621.htm 第二篇文章是: "使用angular cli从蓝本生成代码" ://www.jb51.net/article/137031.htm 第三篇文章是: "使用Angular CLI生成路由" ://www.jb51.net/article/137033.htm 第四篇文章时: "使用Angular C
-
AngularJs unit-testing(单元测试)详解
javascript是一门动态类型语言,这给她带来了很强的表现能力,但同时也使编译器几乎不能给开发者提供任何帮助.因为这个原因,我们感受到编写任何javascript代码都必须有一套强大完整的测试.angular拥有许多功能,让我们更加容易地测试我们的应用.我们应该没有借口不去写测试(这个嘛--). 一. It is all about NOT mixing concerns(全部都关于避免代码关系变得复杂--) 单元测试,正如名称那样,是关于测试单个"单元"的代码.单元测试努力解答这
-
Angular单元测试之事件触发的实现
=在angular项目中时常有一些click.input.focusout等事件操作,那么如何在单元测试中触发这些事件呢? 一.触发Click事件 // 方法一 const ele = fixture.debugElement.query(By.css("#id")); ele.triggerEventHandler('click', null) fixture.detectChanges(); // 更新视图 // 方法二 const ele = fixture.nativeElem
-
前端单元测试之UI测试功能性代码测试教程
目录 前言 UI测试: 功能性代码测试: 让人闻风丧胆的单元测试 代码测试代码 Jest介绍 一.基础教程 安装 源码开发 测试用例编写 开始测试 二.核心API 全局方法 匹配器 异步代码测试 回调 Promise Async/Await Mock Functions 使用 mock 函数 .mock 属性 Mock 的返回值 Mocking Modules 快照测试 前言 <孤勇者>最近火爆的一塌糊涂,占领了小学生.甚至幼儿园,连我家2岁多的儿子尽然也会哼几句.虽然他以为这首歌是奥特曼的主
-
checkbox:click事件触发span元素内容改变的方法
示例如下: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>checkbox</title> <script src="jquery.js"></script> </head> <body> <p>我想去<span id
-
HTML中事件触发列表与解说
一般事件 事件 浏览器支持 描述 onClick HTML: 2 | 3 | 3.2 | 4 Browser: IE3 | N2 | O3 鼠标点击事件,多用在某个对象控制的范围内的鼠标点击 onDblClick HTML: 2 | 3 | 3.2 | 4 Browser: IE4 | N4 | O 鼠标双击事件 onMouseDown HTML: 2 | 3 | 3.2 | 4 Browser: IE4 | N4 | O 鼠标上的按钮被按下了 onMouseUp HTML: 2 | 3
-
jsp+ajax实现的局部刷新较验验证码(onblur事件触发较验)
本文实例讲述了jsp+ajax实现的局部刷新较验验证码(onblur事件触发较验).分享给大家供大家参考,具体如下: 前台显示页面: welcome.jsp <%@ page language="java" contentType="text/html; utf-8" pageEncoding="utf-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transiti
-
javascript 动态改变onclick事件触发函数代码
javascript 动态改变onclick事件触发函数代码 function oc() { alert("原本的方法"); } function od() { alert("我改变方法了."); } function of() { document.getElementById('name').onclick = function(){ od(); }; } 原来的方法 通过点击,改变原来的方法的执行 [Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]
-
Jquery on绑定的事件 触发多次实例代码
用'on'函数为一个新增的按钮绑定了一个事件,这是事件会触发多次. <html> <head> <meta name="viewport" content="width=device-width" /> <title>码上飘</title> <script src="/FrontStyle/js/jquery-1.11.2.min.js" type="text/javas
-
javascript下对于事件、事件流、事件触发的顺序随便说说
1.首先我们来了解几个概念,"事件","事件流","事件名称","事件处理函数/事件监听函数,也许是"老生常谈",知道的朋友可以越过. 事件: 事件是用户自身或浏览器进行的特定行为.如:用户点击 也就是常用的click事件 事件流:多个事件 按一定顺序触发 形成了事件流 事件名称:如上面所讲的click就是事件名 事件处理函数/事件监听函数(Dom的叫法)就是 事件触发后的处理函数,如obj.onclick=fn;函
-
图片onload事件触发问题解决方法
并且随页面大小的不同情况时好时坏,甚至代码位置的不同而不同. 火狐下一切正常. 解决办法是再onload触发前改变图片src的值,也就是相当于图片开始时有个临时的占位图片,页面载入过程中用js换成实际需要的src,只要每次onload事件触发前src发生变化,则onload表现正常.
-
Android 事件触发机制的深入学习
Android 事件触发机制的深入学习 最近在研究android的事件触发和传播机制,说来很惭愧,web下的事件太熟悉不过了,可在android中却很郁闷,常用的触摸事件都糊里糊涂的,在网上看了半天,也整理一份,供大家参考: public class CustomDefaultActivity implements OnTouchListener { private GestureDetector gd1; private TableLayout tableLayout; @Override
随机推荐
- mysql socket文件作用详解
- 详解jquery插件jquery.viewport.js学习使用方法
- vue.js实现用户评论、登录、注册、及修改信息功能
- JavaScript实现点击按钮切换网页背景色的方法
- 浅谈c语言中一种典型的排列组合算法
- 浅析JS中对函数function的理解(基础篇)
- js实现从右向左缓缓浮出网页浮动层广告的方法
- asp.net窗体的打开和关闭(输出js)
- C++通过自定义函数求一元二次方程的根
- MySQL 的 20+ 条最佳实践
- 用js进行url编码后用php反解以及用php实现js的escape功能函数总结
- Ajax上传文件进度条Codular
- JS基于ocanvas插件实现的简单画板效果代码(附demo源码下载)
- SQLSERVER全文目录全文索引的使用方法和区别讲解
- SQLServer2008的实用小道具 merger使用介绍
- javascript onkeydown实现键盘快捷键控制页面
- 仿迅雷焦点广告效果(JQuery版)
- Android创建服务之started service详细介绍
- javascript键盘事件全面控制脚本代码
- android判断phonegap是否联网且加载super.loadUrl网址