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