javaScript测试框架jasmine介绍(二)

发表于:2012-10-25 11:23

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:公羊 羽    来源:51Testing软件测试网原创

  目前网上关于前端js测试框架jasmine功能介绍的文章少之又少,由于笔者最近接触js的测试,将选用jasmine作为测试框架,这里简单介绍一下jasmine在测试中的使用,后续还将对测试中遇到的问题和框架的使用经验进行分享。文章内容主要来源于对官网(http://pivotal.github.com/jasmine/)的翻译和其他一些零散的文档,以及笔者对该框架的一些理解,如有描述不清或理解偏差,欢迎拍砖

  在javaScript测试框架jasmine介绍(一)中介绍了编写jasmine测试脚本的语法结构和一些基本的框架特性,在(二)中笔者继续介绍一些不是十分常用,但在某些场景的测试中可能会用到的框架特性。

  先来介绍一下Spies:

  Jasmine的测试替身被称作spies,spy可以保存任何方法及方法参数的调用痕迹。jasmine有特殊的匹配器来保证spies之间的相互作用。

  toHaveBeenCalled这个matcher当spy被调用过时返回true。toHaveBeenCalledWith当参数列表匹配上任何一次spy的调用记录参数时返回true,下图中其余spc都不难理解,只解释,foo.setBar.calls.length为调用setBar的次数。

  ……………………

  查看全文请点击下载:http://www.51testing.com/html/32/n-827732.html

  为了创建各种spies的mock,可以使用jasmine.createSpyObj并传一个字符串数组作为参数。它返回的是一个对象,每个String都是该对象的一个属性,成为一个spy,如下图红框的4个字符串都是spy

  jasmine.any引用构造函数或者类名作为期望值,和真是的构造函数匹配时返回true

  jasmine的Mock Clock是一款有效的测试组件,有能力使用setTimeout或者setInterval回调函数。它使timer回调函数同步,使它们更容易测试

  通过在spec或者suite里调用jasmine.Clock.useMock来安装Mock clock。

  通过jasmine.Clock.tick方法来标记clock以触发注册的回调函数,这个方法传一个milliseconds.

21/212>
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号