WIKI使用導(dǎo)航
站長百科導(dǎo)航
站長專題
- 網(wǎng)站推廣
- 網(wǎng)站程序
- 網(wǎng)站賺錢
- 虛擬主機(jī)
- cPanel
- 網(wǎng)址導(dǎo)航專題
- 云計(jì)算
- 微博營銷
- 虛擬主機(jī)管理系統(tǒng)
- 開放平臺
- WIKI程序與應(yīng)用
- 美國十大主機(jī)
Ajax- JUnit介紹
導(dǎo)航: 上一頁 | ASP | PHP | JSP | HTML | CSS | XHTML | aJAX | Ruby | JAVA | XML | Python | ColdFusion
由于JsUnit的出現(xiàn)源自JUnit的啟發(fā),所以我們先對JUnit做一個(gè)簡單介紹,然后再深入地分析JsUnit。關(guān)于JUnit有一些非常好的書,若要想詳細(xì)地了解JUnit,可以參考一下。雖然JUnit不是測試的惟一選擇(TestNG和Fit/FitNesse也很值得研究),但是它與JsUnit有著密切的聯(lián)系,實(shí)際上后者相當(dāng)于為了測試JavaScript,而開發(fā)的JUnit“移植版”,這是我們首先討論JUnit的原因。
JUnit是使用最廣泛的xUnit測試框架之一。JUnit是Erich Gamma和Kent Beck編寫的,通常用于測試基于Java的開源軟件,而且最常用的IDE都對JUnit提供了充分的支持。用JUnit編寫測試相當(dāng)簡單,只需創(chuàng)建一個(gè)實(shí)現(xiàn)TestCase的類,編寫一些以test開頭的方法,其中設(shè)置一些斷言,然后用你最喜歡的工具來運(yùn)行這些測試。默認(rèn)情況下,JUnit會(huì)自動(dòng)運(yùn)行以test開頭的方法,不過,你也可以根據(jù)需要改變這種行為。
編寫第二個(gè)或第三個(gè)測試時(shí),你會(huì)發(fā)現(xiàn)有些公共的代碼可以重構(gòu)。你可能已經(jīng)讀過Andrew Hunt和David Thomas所著的The Pragmatic Programmer(Addison-Wesley公司1999年出版),應(yīng)該知道要避免重復(fù),所以會(huì)把一些公共的代碼抽出到一個(gè)固定件(fixture)中,為此要覆蓋setUp()和tearDown()方法,這些方法會(huì)分別在運(yùn)行每個(gè)測試之前和之后調(diào)用。
剛開始,你可能只有幾個(gè)測試,但是慢慢地,測試會(huì)越來越多,而且需要某種方法來組織這些測試。在JUnit中,可以創(chuàng)建TestSuite,其中包括一個(gè)測試方法集合,甚至是整個(gè)測試類。(TestSuite可以包含實(shí)現(xiàn)了Test接口的任何類。)如果你想對測試有更多的控制,可以手工地把測試增加到TestSuite,或者可以告訴JUnit來為你完成這個(gè)工作,為此要把TestCase作為參數(shù)傳遞給TestSuite構(gòu)造函數(shù)。
JUnit支持許多測試運(yùn)行工具。有些IDE有自己的專用運(yùn)行工具,而且只要你愿意,還可以開發(fā)你自己的運(yùn)行工具。JUnit提供了一個(gè)文本運(yùn)行工具,還提供了一個(gè)圖形化運(yùn)行工具,它能報(bào)告運(yùn)行測試所得到的結(jié)果。(圖形化運(yùn)行工具有一個(gè)方便的“紅條失敗”/“綠條通過”方法。)JUnit測試通常由提交或構(gòu)建過程啟動(dòng)。