国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

QUnit jQuery的TDD框架

2019-11-21 00:09:25
字體:
供稿:網(wǎng)友

在討論jQuery TDD之前,我們先來了解下什么才是一個標(biāo)準(zhǔn)的TDD框架。作為標(biāo)準(zhǔn)的TDD框架,必須滿足這么幾個要求:

1. 即使測試腳本出錯了也要能繼續(xù)運行接下來的腳本

2. 能夠不依賴被測試代碼寫測試用例,即使代碼沒有實現(xiàn)也可以先寫測試用例

3. 能夠顯示詳細(xì)的錯誤信息和位置

4. 能夠統(tǒng)計通過和未通過的用例的數(shù)量

5. 有專門的可視化界面用于統(tǒng)計和跟蹤測試用例

6. 易于上手,通過一些簡單的指導(dǎo)就可以馬上開始寫測試代碼。

 

以上這些要求QUnit都做到了, 這也是我推薦QUnit的原因。

 

QUnit目前已經(jīng)可以脫離jQuery獨立運行,這也是它成功的另外一個原因,即兼容性好,其實嚴(yán)格意義上它已經(jīng)不是一個jQuery的測試框架了,而是JavaScript測試框架。有意思的是你會發(fā)現(xiàn)QUnit的注釋曾經(jīng)發(fā)生過微小的變化,如下

QUnit

這也說明QUnit的代碼是做過專門的調(diào)整,使之能脫離JQuery運行。

下載Qunit

下載qunit的代碼可以去http://github.com/jquery/qunit,那里的代碼是最新的。

 

如何使用QUnit

使用QUnit很簡單,只需要下面這些html代碼,初始的設(shè)置就完成了。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml" ><head>  <title>My Foo Tests</title>    <link href="qunit.css" type="text/css" rel="stylesheet"/>    <script language="javascript" src="jquery-1.4.2.js" type="text/javascript" />  <script language="javascript" src="qunit.js" type="text/javascript"/></head><body>   <h1 id="qunit-header">QUnit Test Suite</h1>   <h2 id="qunit-banner"></h2>   <div id="qunit-testrunner-toolbar"></div>   <h2 id="qunit-userAgent"></h2>   <ol id="qunit-tests"></ol> </body></html>

QUnit不僅僅為你提供了測試腳本函數(shù),還為你的單元測試提供了一個標(biāo)準(zhǔn)化的測試界面,如下圖所示,紅色的表示這個測試用例沒有通過,綠色的表示通過。每一個框比表示一個測試函數(shù),里面可能有多個斷言語句的結(jié)果,標(biāo)題中(x,y,z)表示總共有z個斷言,y個是正確的,x個是錯誤的。

image

剛才只是初步看了下界面,現(xiàn)在我們來學(xué)習(xí)如何使用,我從http://github.com/jquery/jquery/raw/master/test/unit/core.js下載了一個core.js的范例測試代碼,這個是jQuery用來測試它的核心模塊的代碼。

在<head></head>中加入<script language="javascript" src="core.js" type="text/javascript"></script>,注意一定要在qunit.js聲明后面,因為core.js中用到了qunit.js定義的函數(shù)。

這時你再運行剛才我們創(chuàng)建的html文件,你就會看到類似上圖的結(jié)果,這就是core.js的測試結(jié)果,是不是一清二楚?如果是測試你自己的函數(shù),你就可以根據(jù)紅色的錯誤提示跟蹤問題所在,直到把所有的測試結(jié)果都變成綠色。

測試腳本怎么寫

測試腳本的寫法,我建議你參考http://docs.jquery.com/Qunit#Reference_Test_Suites,這里面有提到一些測試用例的文件,你可以通過它們來研究怎么寫測試用例,盡管有些測試用例已經(jīng)跑不通了。

比較常用的函數(shù)有:

expect(amount) - 指定某個函數(shù)中會有多少個斷言,通常寫在測試函數(shù)開頭。

module(name) - 模塊是測試函數(shù)的集合,使用該函數(shù)可以在UI中將測試函數(shù)按模塊歸類。

ok(state, message)

主站蜘蛛池模板: 鲁山县| 景宁| 黄浦区| 长沙市| 巴楚县| 梓潼县| 夏河县| 宜宾市| 循化| 关岭| 武安市| 沧州市| 临桂县| 台州市| 曲麻莱县| 绵阳市| 肥东县| 凤庆县| 塔河县| 万山特区| 临湘市| 八宿县| 若羌县| 高阳县| 井冈山市| 吉首市| 竹山县| 通许县| 寻乌县| 鄄城县| 常宁市| 本溪市| 日喀则市| 嘉善县| 靖边县| 历史| 清原| 互助| 陆川县| 新建县| 萝北县|