您的位置:软件测试 > 开源软件测试 > 开源单元测试工具 >
javaScript测试框架jasmine介绍
作者:网络转载 发布时间:[ 2013/4/15 15:42:59 ] 推荐标签:

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

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

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

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

  上面这段话来自对官网的翻译,一些地方不好理解,笔者对下图程序做进一步解释,setTimeout(function() { timerCallback(); }, 100);是一个回调函数,隔100milliseconds调用timerCallback()一次。jasmine.Clock.tick(101)为等待101milliseconds,所以第一次判断timerCallback是否为调用时为未调用,第二次则已调用。而setInterval(function() { timerCallback(); }, 100)则是每隔100milliseconds调用timerCallback()一次,这样解释不难理解了,第一次判断调用前等待101milliseconds,所以调用次数为1,第二次判断调用前又等待50milliseconds,总等待时间为151milliseconds<200milliseconds,所以仍是调用一次,再等待50milliseconds后总等待时间>200milliseconds,所以第三次判断调用次数为2

  Jasmine支持测试异步操作,通过调用runs定义的一组blocks写入specs,bolcks通常结束于异步调用。waitsFor block需要一个锁方法,一个失败消息,和一个超时时间。锁方法一直轮询直到返回true或者超时。如果超时,spec输出失败信息。一旦异步状况出现,另一个runs block定义终的测试行为,它期望值通常基于异步调用返回的状态。如下图,起初flag为false,waitsFor一直轮询,直到500 milliseconds后触发setTimeout的function,将flag赋为true后waitsFor在超时时间未到之前结束,waitsFor下面那个runs是测试行为,笔者看了下value的值为30+。

  Jasmine是构建在javaScript之上的,必须包含在一个JS的环境中,如一个web页面,这样才能运行。

  jasmine的测试文件用javaScript编写,通过Rocoo被编译进html(Rocoo这里不做介绍,有兴趣的可以自行里了解)。通过

上一页123下一页
软件测试工具 | 联系我们 | 投诉建议 | 诚聘英才 | 申请使用列表 | 网站地图
沪ICP备07036474 2003-2017 版权所有 上海泽众软件科技有限公司 Shanghai ZeZhong Software Co.,Ltd