中文字幕免费精品_亚洲视频自拍_亚洲综合国产激情另类一区_色综合咪咪久久

Javascript單元測試框架QUnitjs詳細介紹
來源:易賢網 閱讀:1705 次 日期:2014-05-09 15:20:18
溫馨提示:易賢網小編為您整理了“Javascript單元測試框架QUnitjs詳細介紹”,方便廣大網友查閱!

一、什么是 QUnit

QUnit(http://qunitjs.com/) 是一個非常強大的javascript單元測試框架,可以幫你調試代碼。它是由 jQuery 團隊的成員寫的,而且是 jQuery 的官方測試套裝。但QUnit一般是足以測試任何常規 javascript 代碼,它甚至可能通過一些 javascript 引擎比如 Rhino 或 V8 來測試服務器端 JavaScript。

如果你不熟悉“單元測試”的概念,請不要擔心。這不是很難理解的:

代碼如下:

>

在計算機編程中,單元測試(又稱為模塊測試)是針對程序模塊(軟件設計的最小單位)來進行正確性檢驗的測試工作。程序單元是應用的最小可測試部件。在過程化編程中,一個單元就是單個程序、函數、過程等;對于面向對象編程,最小單元就是方法,包括基類(超類)、抽象類、或者派生類(子類)中的方法。 — 引自維基百科。

簡單地說,你為你的代碼的每個功能寫測試,如果所有這些測試都通過了,那么你可以肯定的是,代碼沒有缺陷(通常,還是由你的測試有多徹底而定)。

二、為什么你要測試你的代碼

如果你以前從未寫過任何單元測試,你可能直接將你的代碼上到網站上,點擊一會看看是否有什么問題出現,并且嘗試去解決你所發現的問題,采用這種方法會有很多的問題。

首先,這是很膩煩的。點擊事實上并不是一件輕松的工作,因為你不得不確保每樣東西都被點到而且很有可能你錯過了一個或兩個。

其次,你為測試做的每件事情是不能復用的,這意味著它很難回歸。什么是回歸?想像一下你寫了一些代碼并測試,修復了所有你發現的缺陷,然后發布。此時,一個 用戶發送了一些關于新缺陷的反饋,并且需要一些新功能。你返回到代碼中,修復這些新缺陷并增加新功能。接下來可能會發生的就是一些舊的缺陷又重現了,這就 叫“回歸”。看,現在你還得再去點擊一遍,而且有可能你還找不到這些舊的擔擔缺陷;即使你這么做,這還需要一段時間才能弄清楚你的問題是由回歸引起的。使用單元測試,你寫測試去發現缺陷,一旦代碼被修改,您通過測試再篩選一次。如果回歸出現,一些測試一定會失敗,你可以很容易地認出他們,知道哪部分代碼包含了錯誤。既然你知道你剛才修改了什么,就可以很容易地解決。

另外一個單元測試的優點,尤其是對于web開發來說: 它使跨瀏覽器兼容性測試很容易。僅僅在不同瀏覽器中運行你的測試案例就行,如果一個瀏覽器出現問題,你修復它并重新運行這些測試案例,確保不會在別的瀏覽器引起回歸,一旦全部通過測試,你可以肯定的說,所有的目標瀏覽器都支持。

我想提及一個 John Resig 的項目:TestSwarm(http://testswarm.com/)。 它將 Javascript 單元測試帶到了一個新的層次,通過使其分布,這是一個網站,其中包含很多測試案例,任何人都可以去那運行一些測試案例,然后返回結果會返回到服務器。通過這種方式,代碼會非常迅速的在不同的瀏覽器進行測試,甚至不同的平臺運行。

三、如何用 QUnit 寫單元測試

那么,你如何正確地用QUnit寫單元測試呢?首先,您需要設置一個測試環境:

代碼如下:

<!DOCTYPE html>

<html>

<head>

<title>QUnit Test Suite</title>

<link rel="stylesheet" type="text/css" media="screen">

<script type="text/javascript" src="http://github.com/jquery/qunit/raw/master/qunit/qunit.js"></script>

<!-- Your project file goes here -->

<script type="text/javascript" src="myProject.js"></script>

<!-- Your tests file goes here -->

<script type="text/javascript" src="myTests.js"></script>

</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框架版本。

將要被測試的代碼已被添加到 myProject.js 中,而且你的測試應該插入到 myTest.js 。要運行這些測試,只需在一個瀏覽器中打開這個 HTML 文件。現在到了寫些測試的時間了。

單元測試的基石是斷言:

斷言是一個命題,預測你的代碼的返回結果。如果預測是假的,斷言失敗,你就知道出了問題。

運行斷言,你應該把它們放入測試案例:

代碼如下:

// Let's test this function

function isEven(val) {

return val % 2 === 0;

}

test('isEven()', function() {

ok(isEven(0), 'Zero is an even number');

ok(isEven(2), 'So is two');

ok(isEven(-4), 'So is negative four');

ok(!isEven(1), 'One is not an even number');

ok(!isEven(-7), 'Neither is negative seven');

})

這里我們定義一個函數:isEven,用來檢測一個數字是否為奇數,并且我們希望測試這個函數來確認它不會返回錯誤答案。

我們首先調用 test(),它構建了一個測試案例;第一個參數是一個將被顯示在結果中的字符串,第二個參數是包括我們斷主的一個回調函數。

我們寫了5個斷言,所有的都是布爾型的。一個布爾型的斷言,期望它的第一個參數為true。第二個參數依然是要顯示在結果中的消息。

這里是你想要得到的,只要你運行測試:

1.jpg

四、深入學習參考

以上只簡單的介紹了 qunit.js ,其斷言方法還有很多,具體可參考 api 文檔:

http://api.qunitjs.com/

單元測試是一個在你發布你的代碼前測試你的代碼的非常好的方法。如果你以前沒有寫過任何的單元測試,現在是時候開始了!

更多信息請查看IT技術專欄

更多信息請查看網絡編程
由于各方面情況的不斷調整與變化,易賢網提供的所有考試信息和咨詢回復僅供參考,敬請考生以權威部門公布的正式信息和咨詢為準!
關于我們 | 聯系我們 | 人才招聘 | 網站聲明 | 網站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 新媒體/短視頻平臺 | 手機站點

版權所有:易賢網

中文字幕免费精品_亚洲视频自拍_亚洲综合国产激情另类一区_色综合咪咪久久
国产精品456露脸| 午夜精品久久久久久久| 亚洲国产日韩a在线播放| 成人综合婷婷国产精品久久蜜臀| 欧美一二三四区在线| 天天av天天翘天天综合网色鬼国产 | 色欧美片视频在线观看| 欧美日韩中文国产| 午夜私人影院久久久久| 成人免费在线播放视频| 国产99久久久国产精品潘金网站| 国产精品网友自拍| 99热精品国产| 亚洲国产欧美另类丝袜| 欧美精品在线观看播放| 日本美女一区二区| 精品久久久久久综合日本欧美| 精品夜夜嗨av一区二区三区| 国产日韩欧美精品在线| 色综合av在线| 美脚の诱脚舐め脚责91| 久久综合色综合88| av午夜精品一区二区三区| 亚洲精品国产一区二区三区四区在线| 91黄色在线观看| 免费精品99久久国产综合精品| 久久品道一品道久久精品| 99免费精品在线观看| 午夜一区二区三区视频| 精品国产乱码久久久久久闺蜜| 成人激情小说乱人伦| 亚洲成av人影院在线观看网| 欧美精品一区二区三区高清aⅴ| www.视频一区| 日韩精品电影在线观看| 国产午夜精品久久久久久免费视| 色综合久久66| 激情综合一区二区三区| 综合久久久久久| 欧美一区二区精品久久911| 久久99久久99| 亚洲激情成人在线| 91精品综合久久久久久| 国产白丝网站精品污在线入口| 中文字幕中文字幕在线一区| 欧美日韩视频在线一区二区| 国产综合成人久久大片91| 亚洲日本电影在线| 日韩无一区二区| 国产河南妇女毛片精品久久久| 亚洲蜜桃精久久久久久久| 久久久久久综合| 一本到不卡精品视频在线观看| 免费成人在线观看| 亚洲六月丁香色婷婷综合久久 | 九九在线精品视频| 亚洲精品久久嫩草网站秘色| 欧美一级生活片| 97se亚洲国产综合自在线观| 日本午夜一区二区| 亚洲欧美另类小说视频| 国产日韩欧美综合在线| 欧美日韩你懂得| 成人高清免费观看| 天堂va蜜桃一区二区三区漫画版| 中文字幕亚洲区| 精品国产91洋老外米糕| 欧美日韩国产电影| 91香蕉视频黄| 在线日韩国产精品| 成人久久18免费网站麻豆| 午夜日韩在线观看| 亚洲图片欧美激情| 国产精品―色哟哟| 亚洲精品一区二区三区影院| 欧美日韩高清在线| 色综合天天综合网国产成人综合天 | 伊人色综合久久天天人手人婷| 国产亚洲一区字幕| 欧美精品一区二区三区高清aⅴ | 麻豆freexxxx性91精品| 一区二区三区四区不卡在线 | 亚洲成av人片在线观看| 亚洲欧美视频在线观看| 国产精品网站在线播放| 国产亚洲欧美一级| xnxx国产精品| 538在线一区二区精品国产| 色婷婷av久久久久久久| 风间由美一区二区av101| 国产美女精品在线| 激情综合五月婷婷| 韩国成人在线视频| 精品制服美女丁香| 石原莉奈在线亚洲二区| 午夜精品一区二区三区电影天堂| 亚洲一区影音先锋| 亚洲夂夂婷婷色拍ww47| 五月天亚洲精品| 亚洲一区在线免费观看| 一区二区三区.www| 亚洲久草在线视频| 一区二区不卡在线播放| 亚洲一区二区三区国产| 五月婷婷久久丁香| 亚洲午夜羞羞片| 亚洲第一激情av| 男男gaygay亚洲| 免费成人在线观看视频| 韩国女主播成人在线| 成人av免费在线观看| 国产激情一区二区三区| 处破女av一区二区| 大白屁股一区二区视频| 99久久伊人网影院| 在线精品国精品国产尤物884a| 欧美另类z0zxhd电影| 欧美tk—视频vk| 久久综合资源网| 中文字幕一区不卡| 亚洲成人午夜电影| 奇米影视7777精品一区二区| 国产精品亚洲第一区在线暖暖韩国| 国产精品一区二区在线观看网站| 国产v日产∨综合v精品视频| 成人黄色在线视频| 在线观看一区日韩| 欧美va在线播放| 综合欧美一区二区三区| 亚洲欧美偷拍卡通变态| 亚洲午夜av在线| 国产精品亚洲а∨天堂免在线| 成人午夜短视频| 欧美三级中文字| 久久久久成人黄色影片| 亚洲图片欧美激情| 日本中文一区二区三区| 久久国产精品第一页| av电影在线观看一区| 欧美一区二区三区免费在线看| 久久久久久久久久电影| 中文字幕中文字幕在线一区| 婷婷综合另类小说色区| 国产mv日韩mv欧美| 日本精品裸体写真集在线观看| 欧美精品一区二区三区视频 | 欧美高清在线精品一区| 亚洲精品视频在线观看免费| 久久电影网电视剧免费观看| av高清久久久| 337p粉嫩大胆噜噜噜噜噜91av| 亚洲精品日韩一| 全国精品久久少妇| 91免费版在线看| 国产亚洲婷婷免费| 亚洲v中文字幕| 色综合婷婷久久| 国产精品视频免费看| 精彩视频一区二区三区| 日本高清无吗v一区| 国产日韩v精品一区二区| 免费一级片91| 欧美精品一二三四| 亚洲精品免费在线| 成人福利视频网站| 国产日产欧美精品一区二区三区| 麻豆精品视频在线观看视频| 欧美日韩国产综合一区二区| 国产精品国产三级国产aⅴ中文 | 日韩免费电影网站| 一区二区三区在线视频观看58 | 久久精品男人的天堂| 麻豆精品新av中文字幕| 91精品免费观看| 午夜精品久久久久久久99水蜜桃| 色先锋资源久久综合| 1区2区3区欧美| 99久久亚洲一区二区三区青草| 国产精品久久免费看| 不卡的电影网站| 国产精品视频yy9299一区| 欧美肥妇bbw| 午夜久久电影网| 欧美三级视频在线观看| 午夜欧美电影在线观看| 欧美中文字幕一区二区三区亚洲| 亚洲狠狠丁香婷婷综合久久久| 91在线丨porny丨国产| 亚洲欧美一区二区久久| av成人老司机| 亚洲美女视频在线观看| 欧美在线观看一二区| 亚洲黄色av一区| 91成人网在线| 亚洲成人综合网站| 91麻豆精品国产91久久久久久久久| 日韩国产高清影视| 精品免费99久久| 成人动漫中文字幕| 一区二区三区影院|