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

Javascript單元測試框架QUnitjs詳細介紹
來源:易賢網 閱讀:1640 次 日期: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技術專欄

更多信息請查看網絡編程
由于各方面情況的不斷調整與變化,易賢網提供的所有考試信息和咨詢回復僅供參考,敬請考生以權威部門公布的正式信息和咨詢為準!

2026上岸·考公考編培訓報班

  • 報班類型
  • 姓名
  • 手機號
  • 驗證碼
關于我們 | 聯系我們 | 人才招聘 | 網站聲明 | 網站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 新媒體/短視頻平臺 | 手機站點 | 投訴建議
工業和信息化部備案號:滇ICP備2023014141號-1 云南省教育廳備案號:云教ICP備0901021 滇公網安備53010202001879號 人力資源服務許可證:(云)人服證字(2023)第0102001523號
云南網警備案專用圖標
聯系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關注公眾號:hfpxwx
咨詢QQ:1093837350(9:00—18:00)版權所有:易賢網
云南網警報警專用圖標
中文字幕免费精品_亚洲视频自拍_亚洲综合国产激情另类一区_色综合咪咪久久
国产精品久久影院| 亚洲香蕉视频| 韩国女主播一区二区三区| 国产一区二区av| 亚洲一区二区成人在线观看| 中国女人久久久| 久久亚洲国产成人| 国产偷自视频区视频一区二区| 亚洲在线观看视频网站| 欧美三级在线播放| 国产在线精品成人一区二区三区| 亚洲欧美另类国产| 国产精品丝袜xxxxxxx| 亚洲一区二区三区在线播放| 欧美视频在线观看免费网址| 9久草视频在线视频精品| 欧美日韩123| 亚洲人成在线观看| 欧美精品午夜视频| 一区二区精品国产| 国产精品入口麻豆原神| 久久成人免费视频| 亚洲国产欧美不卡在线观看 | 国产精品久久久久久亚洲毛片| 99国产精品99久久久久久| 欧美日韩亚洲高清一区二区| 亚洲一级网站| 黑人巨大精品欧美一区二区 | 国产乱码精品一区二区三区不卡| 亚洲永久免费观看| 欧美日韩国产123区| 亚洲欧美日韩高清| 狠狠色狠色综合曰曰| 猛干欧美女孩| 亚洲欧美日韩精品久久亚洲区| 激情久久久久久久| 欧美黄色视屏| 亚洲精品在线三区| 国产精品视频一二三| 久久在精品线影院精品国产| 亚洲裸体视频| 国产主播一区二区| 欧美日韩一区二区三区高清| 久久国产精品久久精品国产| 在线观看免费视频综合| 欧美日韩国产一区二区三区| 性亚洲最疯狂xxxx高清| 亚洲国产精品一区二区尤物区| 国产精品久久久久久久9999| 免费久久精品视频| 亚洲视频日本| 亚洲国产二区| 国产乱理伦片在线观看夜一区| 蜜臀a∨国产成人精品| 亚洲一二三四久久| 国产亚洲欧洲一区高清在线观看| 欧美日韩中字| 欧美激情视频网站| 久久久久久一区二区三区| 亚洲免费视频网站| 一本一本久久a久久精品牛牛影视| 狠狠色综合播放一区二区| 欧美精品日韩| 免费在线播放第一区高清av| 欧美在线播放高清精品| 亚洲一区二区久久| 亚洲狼人综合| 亚洲国产精品va| 国内精品久久久久久 | 亚洲一区精品在线| 欧美屁股在线| 欧美高清视频在线| 嫩模写真一区二区三区三州| 久久av最新网址| 午夜久久久久久久久久一区二区| 亚洲毛片在线观看| 亚洲人成网站在线播| 亚洲国产精品www| 尤物视频一区二区| 一区二区三区日韩欧美| 国产精品h在线观看| 久久久91精品| 久久深夜福利| 美国十次成人| 欧美国产日本高清在线| 国产欧美视频一区二区| 欧美日韩亚洲一区二区三区在线观看 | 亚洲中字黄色| 一本色道久久88精品综合| 亚洲人成免费| 最新亚洲一区| 亚洲靠逼com| 亚洲深爱激情| 亚洲一区综合| 欧美在线观看你懂的| 久久国产精品久久精品国产| 久久婷婷国产综合精品青草| 久久综合色综合88| 欧美日本在线视频| 国产精品欧美久久| 国产综合色产在线精品| 最新中文字幕亚洲| 亚洲精品欧美在线| 亚洲在线观看视频| 欧美国产视频日韩| 激情小说另类小说亚洲欧美| 亚洲深夜影院| 欧美日本国产一区| 亚洲电影在线免费观看| 欧美综合国产| 国产精品综合网站| 亚洲天天影视| 国产精品午夜视频| 亚洲精品国产无天堂网2021| 欧美一区二区三区视频免费| 欧美日本高清视频| 亚洲国产高清在线| 久久久久久夜| 国产一区二区三区成人欧美日韩在线观看| 99视频有精品| 欧美日韩精品一区二区三区| 在线观看一区| 久久尤物电影视频在线观看| 国内精品久久久久影院 日本资源 国内精品久久久久伊人av | 免费日韩av电影| 国产在线拍偷自揄拍精品| 亚洲影音一区| 欧美色欧美亚洲另类二区| 亚洲国产欧美另类丝袜| 麻豆精品视频| 在线观看日韩| 欧美 日韩 国产一区二区在线视频 | 亚洲一区免费观看| 欧美三级电影精品| 一本色道久久综合亚洲精品小说| 欧美粗暴jizz性欧美20| 亚洲国产一区视频| 欧美成人网在线| 亚洲激情视频在线观看| 女同一区二区| 在线视频一区观看| 国产精品多人| 欧美一区二区三区四区在线观看| 国产精品一卡二卡| 久久福利电影| 亚洲电影下载| 欧美日韩亚洲一区在线观看| 亚洲专区一区二区三区| 国产乱肥老妇国产一区二| 亚洲欧美日韩国产成人精品影院| 国产精品一区二区三区久久久| 亚洲欧美日韩精品久久奇米色影视 | 国产日韩综合一区二区性色av| 亚洲欧美电影在线观看| 国产婷婷色一区二区三区在线| 欧美在线影院在线视频| 一区二区三区在线视频观看| 欧美1区视频| 亚洲天堂成人| 国语自产精品视频在线看一大j8| 欧美α欧美αv大片| 亚洲一区二区在线播放| 国产亚洲美州欧州综合国| 美女被久久久| 亚洲午夜久久久| 激情成人综合| 欧美日韩视频在线观看一区二区三区| 国产精品第13页| 久久综合伊人77777麻豆| 亚洲精品乱码久久久久久| 欧美日韩国产不卡| 久久精品视频导航| 一区二区电影免费在线观看| 国产亚洲激情在线| 欧美人成免费网站| 久久精品卡一| 一区二区久久久久| 亚洲第一级黄色片| 国产精品午夜春色av| 模特精品在线| 久久国产福利国产秒拍| 亚洲视频精品在线| 亚洲国产一区二区三区在线播| 国产精品日韩高清| 欧美精品久久99| 久久久91精品国产一区二区三区 | 伊甸园精品99久久久久久| 欧美日韩一区二区三区在线视频 | 久久资源在线| 午夜国产精品影院在线观看 | 亚洲一二三四区| 亚洲国产美女精品久久久久∴| 国产精品亚洲不卡a| 欧美日韩国产专区| 欧美成人精品在线播放| 久久五月天婷婷| 久久国产色av| 欧美在线短视频| 香蕉久久一区二区不卡无毒影院 | 国产精品久久久久久久久久直播 |