文档章节

使用QUnit对javascript进行单元测试

 学习也休闲
发布于 2015/10/28 17:40
字数 841
阅读 65
收藏 1

QUnit中API

QUnit所有的API可以分为三类:Setup,Assertions,Asynchronous Testing

 

1、Setup

 

(1)、test( name, [expected], testFun )  

代表QUnit中的一个测试

参数说明

name:要测试的名称,比如“加法函数”或“add”等

expected:可选参数,用来表示该测试函数的断言的数量,是个正整数

testFun:一个函数,所有的测试代码都应该包括在该函数里,通常这是一个匿名函数。

例:

test(“add function”, 1, function() {

    equal(add(1, 2), 3);

});

 

(2)、asyncTest( name, [expected], testFun )  

代表QUnit中的一个异步测试,参数同test

 

(3)、expect( amount )  

用在测试函数中,用于声明测试断言的数量,这个函数和test中的expected参数的作用是一样的。主要作用就是检查你声明的个数和你写的断言的实际个数是否一致。

 

(4)、module( name, [lifecycle] )  

主要用于测试函数的分组,一个module函数为一个分组,比如module(“validate”)表示后面的测试用例都是validate相关的代码,或者module(“common.js”),表明后面的测试用例都是common.js里面的代码。一个测试文件可以写多个module。

参数说明

name:分组或者模块的名称

lifecycle:可选参数,它是一个对象,可以设置setup和teardown回调函数

例:

module(“common.js”, 

    {

        setup:function(){},

        teardown: function() {} 

    }

);

setup:在module开始之前执行,可以为该module下面的测试代码做一些准备工作

teardown:将会在该module的所有测试代码执行后执行,比如做一些清理还原工作等。

 

(5)、QUnit.init( )  

用于初始化QUnit测试框架,通常这个函数是不需要我们手工调用的。

 

(6)、QUnit.reset( )  

重设函数,通常是在每个test函数执行后由QUnit自己调用来重设整个QUnit测试环境,当然必要时我们自己也可以调用它来复原,不常用。

 

2、Assertions

 

(1)、ok( state, [message] )  断言

state值为true时表示通过,否则失败。

 

(2)、equal( actual, expected, [message] )  

比较参数actual和expected是否相等,相当于 ==

 

(3)、notEqual( actual, expected, [message] )  

比较两个参数是否不相等,相当于 !=

 

(4)、deepEqual( actual, expected, [message] )  

主要用于数组和对象等类型的值是否相等,会递归遍历它们所包含的值是否相等。

 

(5)、notDeepEqual( actual, expected, [message] )  

主要用于数组和对象等类型的值是否不相等,会递归遍历它们所包含的值是否不相等。

 

(6)、strictEqual( actual, expected, [message] )  

比较两个参数是否严格相等,相当于 ===

 

(7)、notStrictEqual( actual, expected, [message] )  

比较两个参数是否不严格相等,相当于 !==

 

(8)、throws( block, expected, [message] )  

测试block函数是否抛出一个异常,抛出则通过,不抛则失败。

参数说明

block:我们要测试的函数

expected:可选参数,是一个类型,用来验证第一个函数抛出的异常是否是我们预期的类型。


3、Asynchronous Testing

 

(1)、stop( [increment] )  

停止测试的运行,用于异步测试。在异步测试时一般先把QUnit的test runner停下来。

increment:增加停止的时间。

 

(2)、start( [decrement] )  

当异步调用成功后就应该把停止的test runner启动起来让它接着往前跑

decrement:用来减少停止的时间。



参考资料: javascript如何单元测试  http://www.studyofnet.com/news/1035.html


© 著作权归作者所有

粉丝 6
博文 99
码字总数 38516
作品 0
海淀
私信 提问
jquery单元测试框架链接整理

jQuery单元测试框架 QUnit:http://www.oschina.net/p/qunit/ 详细介绍JavaScript(Jquery)单元测试工具QUnit:http://wenku.baidu.com/link?url=BRUzMXfkxlvXTqqxqi0h4aJ2L52hSya7mEmjD-FFh......

智能小松鼠
2015/04/02
45
0
如何用Qunit测试你的JavaScript代码

QUnit, 由jquery团队开发,是一个对JavasScript进行单元测试的很好的框架。在这篇指南中, 我将具体介绍什么是Qunit,以及为什么你要关心严格地测试你的代码。 什么是QUnit QUnit 是一个非常强...

dengjianqiang200
2011/04/14
606
0
如何用 QUnit 来测试 JavaScript 代码

QUnit是一套由jQuery团队开发的,非常强大的用于对JavaScript进行单元测试的框架。本文将介绍什么是QUnit,以及为何要关心代码测试。 什么是QUnit Qunit是一款强大的用于帮助调试代码的,Jav...

小编辑
2011/05/09
1K
4
QUnit 2.3.0 发布,易用的 JavaScript 单元测试框架

QUnit 是一个功能强大、易于使用的 JavaScript 单元测试框架。它被 jQuery 项目用于测试代码和插件,它能够测试任何通用的 JavaScript 代码(甚至能够在服务器端测试 JavaScript 代码)。 QU...

王练
2017/04/02
429
0
网页前端持续集成(2) - qunit+JSCoverage+PhantomJS使用小记

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/teaspring/article/details/17266247 今年早些时候为公司项目做过一些网页前端程序的持续集成(CI),在过去的几...

teaspring
2013/12/12
0
0

没有更多内容

加载失败,请刷新页面

加载更多

parseint和isNaN用法

本文转载于:专业的前端网站➭parseint和isNaN用法 <!doctype html><html><head><meta charset="utf-8"><title>无标题文档</title></head><body><script> var a='12'; alert......

前端老手
今天
7
0
Kylin 精确去重在用户行为分析中的妙用

作者:史少锋,Apache Kylin committer & PMC,2019/10/11 在上次文章《如何在 1 秒内做到大数据精准去重》中,我们介绍了 Apache Kylin 为什么要支持大数据集上的精确去重,以及基于 Bitmap...

ApacheKylin
今天
5
0
学习记录(二) es6基本语法(rest参数,模板化,axios模块,拦截器)

日常学习记录 模块化:把一个大文件分成多个小文件,按照一定规范进行拼接 es5写法: 导出:module.exports = 数据 导入:require("路径") /路径未添加后缀名时 //默认添加.js //把路径作为文件名...

Pole丶逐
今天
4
0
以程序员的角度怎么购买一台「性价比高的电视」

前俩天有小伙伴在我的文章下留言,说能否把 【国内电视机都介绍一下】,今天我已在TV端开发多年的程序员的角度。谈谈已程序员的角度如何购买一台性价比高的电视。 国内大的电视机品牌介绍 长...

我们都很努力着
今天
5
0
PhotoShop 色调:理解直方图/RGB通道信息

一、直方图:图表的形式,展示图像像素分布的情况 1.平均值:表示平均亮度 2.标准偏差值:表示亮度值范围内的中间值 3.像素: 表示用于计算直方图的像素总数 4.色阶:显示指针下面的区域亮度...

东方墨天
今天
8
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部