40 sinon spy间谍函数
sinon
辅助我们进行前端测试。
安装:npm install sinon -D
引入: import sinon from ‘sinon’;
spy 间谍函数
const spy = sinon.spy();
使用方法
spy.called; 表示函数是否被调用,返回布尔值
spy.callCount; 函数被调用的次数
spy.calledOnce; 函数只被调用了一次,返回布尔值
spy.calledTwice; 函数被连续调用了两次,返回布尔值
spy.calledThrice; 函数被连续调用了三次,返回布尔值
spy.firstCall; 函数第一次被调用。返回布尔值
spy.secondCall; 函数第二次被调用。返回布尔值
spy.thirdCall; 函数第三次被调用。返回布尔值
spy.lastCall; 函数最后一次被调用。返回布尔值
spy.calledOn(‘xxx’); 调用函数时,函数的this至少有一次是xxx,返回布尔值。
spy.alwaysCalledOn(‘xxx’); 调用函数时,函数的this始终是xxx,返回布尔值。
spy.calledWidth(1, 2, 3); 函数至少被调用一次,且参数包含1, 2, 3,返回布尔值。
spy.calledOnceWith(1, 2, 3); 函数只被调用一次,且参数包含1, 2, 3,返回布尔值。
spy.alwaysCalledWith(1, 2, 3); 函数被调用时传的参数始终包括1,2,3,返回布尔值。
spy.calledWithExactly(1, 2, 3); 函数至少被调用一次,且参数只为1,2,3,返回布尔值。
spy.alwaysCalledWithExactly(1, 2, 3); 函数被调用时传的参数始终只为1,2,3,返回布尔值。
spy.calledWithNew(); 函数被作为构造函数new,返回布尔值。
spy.neverCalledWith(1, 2, 3); 函数执行时,参数从不为1, 2, 3。返回布尔值。
spy.threw(); 函数执行时,抛出一个异常。返回布尔值。
spy.threw(“TypeError”); 函数执行时,至少抛出一次TypeError异常。返回布尔值。
spy.threw(‘xxx’); 函数执行时,至少抛出一次xxx异常。返回布尔值。
spy.alwaysThrew(); 函数执行时,始终抛出异常。返回布尔值。
spy.alwaysThrew(“TypeError”); 函数执行时,始终抛出TypeError异常。返回布尔值。
spy.alwaysThrew(‘xxx’); 函数执行时,失踪抛出xxx异常。返回布尔值。
spy.returned(‘xxx’); 函数执行时,至少返回一次xxx。返回布尔值。
spy.alwaysReturned(‘xxx’); 函数执行时,始终返回’xxx’。返回布尔值。
spy.getCall(n); 返回函数被第n次调用。
spy.getCalls(); 返回一个函数被调用的数组。
spy.thisValues; 返回函数被调用时this指向的集合, 值类型为数组。
spy.args; 返回函数被调用时参数,值类型为数组。
spy.exceptions; 返回函数被调用时抛出的异常集合. 值类型为数组。
spy.returnValues; 返回函数被调用时返回的值,值类型为数组。
40 sinon spy间谍函数相关推荐
- sinon spy_Sinon教程:使用嘲弄,间谍和存根进行JavaScript测试
sinon spy 本文由Mark Brown和MarcTowler进行了同行评审. 感谢所有SitePoint的同行评审员使SitePoint内容达到最佳状态! 编写单元测试时,最大的绊脚石之一就是 ...
- Sinon教程:使用嘲弄,间谍和存根进行JavaScript测试
本文由Mark Brown和MarcTowler进行了同行评审. 感谢所有SitePoint的同行评审人员使SitePoint内容达到最佳状态! 编写单元测试时,最大的绊脚石之一就是当您拥有不平凡的代 ...
- sinon.js的spy、stub和mock
sinon 做测试的知道,在 Java 的单元测试中,不能获取实际对象时,我们可以使用 Mock/Stub 对我们的代码进行mock 等操作,更好的方便我们测试. 像 EasyMock.JMock.M ...
- Sinon 入门,看这篇文章就够了
Author: bugall Wechat: bugallF Email: 769088641@qq.com 项目地址: https://github.com/bugall/nod... 为什么需要S ...
- sinon.stub_JavaScript测试工具对决:Sinon.js vs testdouble.js
sinon.stub 在对真实代码进行单元测试时,有许多情况使测试难以编写. 您如何检查是否调用了函数? 您如何测试Ajax呼叫? 还是使用setTimeout编码? 就是在这种情况下,您使用测试倍数 ...
- 【前端单元测试入门03】Sinon
前端测试存在的问题 在讲Sinon之前,我们得先讲一下在学习了Mocha.chai以及enzyme之后,我们的前端测试还存在的一些问题. 比如前台测试需要与后台交互,获取后台数据后再根据相应数据进行测 ...
- JavaScript测试工具对决:Sinon.js vs testdouble.js
在对真实代码进行单元测试时,有许多情况使测试难以编写. 您如何检查是否调用了函数? 您如何测试Ajax呼叫? 还是使用setTimeout编码? 就是在这种情况下,您使用测试倍数 -替换代码使难以测试 ...
- sinon.js基础使用教程---单元测试
原文地址:www.sitepoint.com/sinon-tutor- 译文 当我们写单元测试时一个最大的绊脚石是当你面对的代码过于复杂. 在真实的项目中,我们的代码经常要做各种导致我们测试很难进行的 ...
- 【前端测试与集成】使用mocha和sinon进行单元测试
目录 简介 编写测试 Spy Mock Stub Test a Promise xhr Hooks Coverage 简介 Mocha是流行的JavaScript测试框架之一,通过它添加和运行测试,从 ...
最新文章
- “蓝桥杯”软件大赛入门训练4道题
- 如何在程序中不用加号实现加法_程序员那些事 | JavaScript基础(六)
- 每天一个linux命令(59):rcp命令
- gephi java教程_为Gephi准备数据
- 一文带你了解SQL的执行计划(explain)
- Python爬取的数据存为json文件,并读取
- 【国科大矩阵论】2021秋季叶世伟矩阵论考试计算题
- 手写文字识别的使用软件
- 全国大学生数学建模大赛入门1——赛前准备及注意事项
- vue组件中的方法执行顺序是怎么样的?data和props执行顺序
- hadoop-common2.7源码分析之ProtobufRpcEngine(RPC实现)
- Application was not properly initialized at startup, could not find Factory:
- 能够实现添加,修改及删除的通讯录
- C++实现LR(1)分析表的构造
- 从游戏中学习产品设计2:消费篇
- excel中用正则匹配_Excel利用正则表达式匹配和替换内容
- 南京理工大学校长计算机学院教授,南京理工大学杨静宇教授、扬州大学郭志波博士应邀来我校作学术报告...
- winpe如何给服务器安装系统,winpe系统安装在其他分区的详细教程
- 《Linux From Scratch》第三部分:构建LFS系统 第七章:基本系统配置- 7.9. 创建 /etc/shells 文件...
- 解决steam 上origin 安装超级慢的问题 [已解决]
热门文章
- 苹果开放降级通道_iOS 12.2的验证通道已关闭,两款机型可降级!
- 论文翻译:2019_Bandwidth Extension On Raw Audio Via Generative Adversarial Networks
- 《MLB棒球创造营》:走近棒球运动·费城费城人队
- 电脑蓝屏黑屏无法开机.BIOS更新.进不去系统只能重装?驱动人生解决方案
- Qt OpenGL(08)通过递归细分正二十面体逼近球面
- fastadmin更改访问入口文件路径
- 常系数非齐次微分方程特解及其通解求解
- google统计ga.js本地化提高网站性能
- 怎样在word中画横线
- 蓄力-利用POI进行excel的导入导出(包含图片)