Sinon

作者: 我向你奔 | 来源:发表于2018-08-26 15:40 被阅读23次

在我们的代码需要与其他系统或者函数对接时,它可以模拟这些场景,从而使我们测试的时候不再依赖这些场景。Sinon有主要有三个方法辅助我们进行测试:spy,stub,mock。

spy

生成一个间谍函数,它会记录下函数调用的参数,返回值,this的值,以及抛出的异常。
spy一般有两种玩法,一种是生成一个新的匿名间谍函数,另外一种是对原有的函数进行封装并进行监听。

stub

是带有预编程行为的函数,就是spy的加强版,不仅完全支持spy的各种操作,还能操作函数的行为。和spy一样,stub也能匿名,也能去封住并监听已有函数。然而有一点和spy不同,当封装了一个已有函数后,原函数不会再被调用。

使用stub来嵌入或者直接替换掉一些代码,来达到隔离的目的。简单的说,stub是代码的一部分。在运行时用stub替换真正代码,忽略调用代码的原有实现。目的是用一个简单一点的行为替换一个复杂的行为,从而独立地测试代码的某一部分。

sinon.stub(HTMLMediaElement.prototype, "play"):将HTMLMediaElement.prototype.play 替换成一个stub(),可将它替换成指定函数

stub.restore():由于 stub 是使用指定函数替换已有的函数,所以每次使用后需要用stub.restore()复原它

mock

像spy和stub一样的伪装方法,如果mock没有得到期望的结果就会测试失败。

相关文章

  • Sinon常用代码块

    #1,使用sinon创建假服务器 #2,使用sinon创建一个模块/对象的仿制品

  • Sinon

    在我们的代码需要与其他系统或者函数对接时,它可以模拟这些场景,从而使我们测试的时候不再依赖这些场景。Sinon有主...

  • sinon

    需要测试的代码: functiononce(fn){varreturnValue,called=false;ret...

  • 前端单元测试(二)ajax异步测试

    紧接着上一篇,讲讲 ajax测试,使用的是sinon。 mocha中的sinon 在mocha,如果在命令行中使用...

  • 2021-11-09 单元测试之sinon的入门

    测试辅助工具 Sinon Sinon 是用来辅助我们进行前端测试的,在我们的代码需要与其他系统或者函数对接时,它可...

  • react单元测试--sinon

    关于安装 npm install --save-dev sinon 关于功能 React和Redux已经尽量让单元...

  • Fakes - Sinon.JS

    对https://sinonjs.org/releases/v6.3.4/fakes/的翻译 简介 fake 是从...

  • Jest

    jest 是facebook推出的一款测试框架,集成了 Mocha,chai,jsdom,sinon等功能。 安装...

  • 要不然的话……

    原名:《Sinon......》 原作者:Alice bassié(法国) 翻译:雪山小狐 有一天,大灰狼来到绵羊...

  • Unit Testing with Sinon.JS

    Preface Which kind of method is the easiest to test? In m...

网友评论

    本文标题:Sinon

    本文链接:https://www.haomeiwen.com/subject/dgwgmftx.html