使用QUnit对javascript进行单元测试

QUnit中APIjavascript

QUnit全部的API能够分为三类:Setup,Assertions,Asynchronous Testinghtml

 

一、Setupjava

 

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

表明QUnit中的一个测试框架

参数说明异步

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

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测试环境,固然必要时咱们本身也能够调用它来复原,不经常使用。

 

二、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:可选参数,是一个类型,用来验证第一个函数抛出的异常是不是咱们预期的类型。


三、Asynchronous Testing

 

(1)、stop( [increment] )  

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

increment:增长中止的时间。

 

(2)、start( [decrement] )  

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

decrement:用来减小中止的时间。



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

相关文章
相关标签/搜索