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

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)版權所有:易賢網
云南網警報警專用圖標
中文字幕免费精品_亚洲视频自拍_亚洲综合国产激情另类一区_色综合咪咪久久
欧美一区二区福利在线| 午夜精品一区二区三区在线视| 亚洲一区二区精品| 黄色日韩精品| 国产精品捆绑调教| 国产精品国产三级国产aⅴ入口| 国产精品夜夜嗨| 欧美在线影院| 一区二区三区毛片| 欧美午夜精品久久久久久久 | 国产精品日韩一区二区| 韩国av一区二区三区四区| 亚洲精品久久| 久久综合九色综合网站| 国产精品日韩在线| 在线一区二区三区四区五区| 美女尤物久久精品| 国语精品中文字幕| 午夜精品久久久| 欧美午夜宅男影院在线观看| 136国产福利精品导航网址| 亚洲欧美日韩国产中文| 欧美日韩国产欧| 亚洲欧洲视频在线| 欧美成人精品三级在线观看 | 亚洲主播在线播放| 欧美日本在线视频| 亚洲人永久免费| 欧美国产日本韩| 亚洲人成欧美中文字幕| 久久综合九色| 亚洲国产毛片完整版| 久久五月激情| 国内精品久久久久影院色| 久久国产精品久久久| 国产在线不卡视频| 久久影院亚洲| 日韩午夜av| 欧美性猛交xxxx乱大交蜜桃| 亚洲一区日韩| 好看的av在线不卡观看| 免费观看在线综合| 99re6热在线精品视频播放速度| 欧美激情久久久| 宅男噜噜噜66一区二区66| 国产精品毛片a∨一区二区三区|国| 中文无字幕一区二区三区| 国产精品成人在线| 久久精品一区二区三区不卡牛牛 | 老司机一区二区三区| **性色生活片久久毛片| 欧美日本免费| 欧美一区二区成人6969| 亚洲国产国产亚洲一二三| 欧美日本中文字幕| 亚洲欧美在线免费| 激情亚洲网站| 欧美日韩精品一二三区| 性做久久久久久久免费看| 亚洲国产成人精品女人久久久| 欧美日韩免费区域视频在线观看| 午夜在线视频一区二区区别| 激情综合亚洲| 国产精品久久久久一区二区三区共| 久久精品国产亚洲高清剧情介绍| 亚洲日本中文| 狠狠色丁香久久婷婷综合_中| 欧美日韩成人| 欧美日韩成人一区| 久久九九全国免费精品观看| 99国产一区二区三精品乱码| 国产一二三精品| 欧美日韩理论| 久久中文在线| 午夜天堂精品久久久久| 日韩小视频在线观看专区| 韩国精品在线观看| 国产精品久线观看视频| 欧美福利在线| 久久精品av麻豆的观看方式| 一区二区三区高清视频在线观看| 激情成人综合| 国产日韩欧美一区在线 | 亚洲欧美国产另类| 亚洲黑丝一区二区| 久久久一二三| 亚洲永久在线观看| 亚洲另类一区二区| 一区二区三区在线视频播放| 国产精品草莓在线免费观看| 欧美理论在线播放| 久久人人爽人人| 午夜视频一区在线观看| 99综合视频| 亚洲靠逼com| 亚洲第一狼人社区| 精品1区2区3区4区| 韩国v欧美v日本v亚洲v| 亚洲女同同性videoxma| 日韩一级二级三级| 日韩亚洲在线观看| 亚洲精品视频一区二区三区| 亚洲日本中文字幕区 | 久久久久国产一区二区| 午夜国产精品视频| 亚洲一区二区三区在线视频| 亚洲看片一区| 亚洲日本理论电影| 亚洲精品久久久久久一区二区| 亚洲第一级黄色片| 永久域名在线精品| 尹人成人综合网| 国产自产v一区二区三区c| 国产一区二区三区四区hd| 国产欧美一区二区三区另类精品| 国产欧美精品日韩精品| 国产欧美精品在线| 1024日韩| 一区二区精品| 欧美在线免费| 久久久夜精品| 欧美激情综合色| 欧美日韩亚洲国产精品| 国产精品久久久久久久久久久久久 | 一区二区三区视频在线看| 一本一本大道香蕉久在线精品| 在线一区二区三区做爰视频网站| 中日韩美女免费视频网址在线观看| 亚洲综合精品四区| 久久久综合精品| 欧美精品一区在线播放| 国产精品一区二区三区久久久| 黑丝一区二区| 亚洲午夜性刺激影院| 久久综合给合| 国产精品国产三级国产aⅴ无密码| 国产日韩欧美在线视频观看| 亚洲国产综合在线看不卡| 亚洲欧美电影在线观看| 久久激情视频| 欧美日韩你懂的| 精品1区2区| 午夜一区在线| 欧美高清视频一区| 国产精品麻豆欧美日韩ww| 在线日韩av片| 欧美一区二区三区久久精品| 欧美激情综合五月色丁香| 国产一区二区三区网站| 亚洲精品影院| 欧美制服丝袜第一页| 欧美丝袜一区二区三区| 一区二区在线免费观看| 亚洲欧美日韩精品| 欧美激情女人20p| 国内精品久久久久久久影视麻豆| 99在线热播精品免费99热| 久久亚洲午夜电影| 国产欧美精品一区aⅴ影院| 一本久道久久综合狠狠爱| 欧美a级大片| 在线观看精品视频| 欧美伊久线香蕉线新在线| 欧美午夜影院| 亚洲美女在线观看| 欧美高清一区| 亚洲国产欧美一区二区三区同亚洲 | 国产精品日韩二区| 亚洲欧洲精品一区二区精品久久久| 欧美一区二区三区视频| 国产精品久99| 一区二区欧美亚洲| 欧美激情综合网| 亚洲激精日韩激精欧美精品| 久久九九精品| 国产精品三级视频| 亚洲欧美视频在线观看| 欧美三区免费完整视频在线观看| 亚洲人体偷拍| 欧美日本不卡高清| 99精品欧美一区| 欧美日韩午夜精品| 在线性视频日韩欧美| 国产精品免费观看视频| 小处雏高清一区二区三区| 国产一区二区三区高清| 久久久久青草大香线综合精品| 尤妮丝一区二区裸体视频| 欧美成人dvd在线视频| 亚洲精品在线视频| 国产精品久久久久三级| 欧美一区亚洲一区| 亚洲激情网站| 国产精品入口| 久久亚洲欧美| 一本色道久久99精品综合| 国产精品一国产精品k频道56| 欧美中日韩免费视频| 亚洲国产裸拍裸体视频在线观看乱了中文| 奶水喷射视频一区|