您的位置:軟件測(cè)試 > 開(kāi)源軟件測(cè)試 > 開(kāi)源單元測(cè)試工具 > junit
循序漸進(jìn)學(xué)習(xí)JUnit
作者:網(wǎng)絡(luò)轉(zhuǎn)載 發(fā)布時(shí)間:[ 2012/11/29 14:45:03 ] 推薦標(biāo)簽:

要運(yùn)行此測(cè)試實(shí)例,將源文件(IsoDate.java和IsoDateTest.java)拷貝到Junit的安裝目錄下,打開(kāi)終端,進(jìn)入該目錄,然后輸入以下命令行(如果你正在使用UNIX):

export CLASSPATH=.:./junit.jar
javac *.java
或者,如果你正在Windows,輸入以下命令行

set CLASSPATH=.;junit.jar
javac *.java
 

這些命令行對(duì)CLASSPATH進(jìn)行設(shè)置,使其包含當(dāng)前目錄中的類(lèi)和junit.jar庫(kù),并編譯Java源文件。

要在終端上運(yùn)行該測(cè)試,輸入以下命令行:

java junit.textui.TestRunner IsoDateTest
 

此命令行將運(yùn)行該測(cè)試,并在圖 1所示的控制臺(tái)上顯示測(cè)試結(jié)果。

才在此工具可以運(yùn)行類(lèi)名被傳遞到命令行中的單個(gè)測(cè)試。注意:只有對(duì)命令行的后測(cè)試才在考慮之內(nèi),以前的測(cè)試都被忽略了。(看起來(lái)像一個(gè)程序錯(cuò)誤,是吧?)

JUnit還提供了利用AWT(抽象窗口工具包)或Swing運(yùn)行測(cè)試的圖形界面。為了利用此圖形界面運(yùn)行測(cè)試,在終端上輸入以下命令行:

java junit.awtui.TestRunner IsoDateTest
 

或者使用Swing界面:

java junit.swingui.TestRunner IsoDateTest
 

此命令行將顯示圖 2所示的界面。要選擇一個(gè)測(cè)試并使其運(yùn)行,點(diǎn)擊帶有三個(gè)點(diǎn)的按鈕。這將顯示CLASSPATH(還有測(cè)試包,但我們將在后面討論)中所有測(cè)試的列表。要運(yùn)行測(cè)試,點(diǎn)擊"Run"按鈕。測(cè)試應(yīng)當(dāng)正確運(yùn)行,并在圖 2所示的界面中顯示結(jié)果。

在此界面中你應(yīng)當(dāng)選中復(fù)選框"Reload Classes Every Run",以便運(yùn)行器在運(yùn)行測(cè)試類(lèi)之前對(duì)它們進(jìn)行重新加載。這樣可以方便地編輯、編譯并運(yùn)行測(cè)試,而不需要每次都啟動(dòng)圖形界面。

在該復(fù)選框下面是一個(gè)進(jìn)度條,在運(yùn)行較大的測(cè)試包時(shí),該進(jìn)度條非常有用。運(yùn)行的測(cè)試、錯(cuò)誤和失敗的數(shù)量都會(huì)在進(jìn)度條下面顯示出來(lái)。再下面是一個(gè)失敗列表和一個(gè)測(cè)試層次結(jié)構(gòu)。失敗消息顯示在底部。通過(guò)點(diǎn)擊Test Hierarchy(測(cè)試層次結(jié)構(gòu))面板,然后再點(diǎn)擊窗口右上角的"Run"按鈕,即可運(yùn)行單個(gè)測(cè)試方法。請(qǐng)記住,使用命令行工具是不可能做到這些的。

注意,當(dāng)運(yùn)行工具來(lái)啟動(dòng)測(cè)試類(lèi)時(shí),這些類(lèi)必須存在于CLASSPATH中。但是如果測(cè)試類(lèi)存儲(chǔ)在jar文件中,那么即使這些jar文件存在于CLASSPATH中,JUnit也不能找到這些測(cè)試類(lèi)。

這并不是一種啟動(dòng)測(cè)試的方便方法,但幸運(yùn)的是,JUnit已經(jīng)被集成到了其他工具(如Ant和Oracle9i JDeveloper)中,以幫助你開(kāi)發(fā)測(cè)試并使測(cè)試能夠自動(dòng)運(yùn)行。

編寫(xiě)Junit測(cè)試實(shí)例

你已經(jīng)看到了測(cè)試類(lèi)的源代碼對(duì)IsoDate實(shí)施進(jìn)行了詢問(wèn),F(xiàn)在讓我們來(lái)研究這樣的測(cè)試文件的實(shí)施。

測(cè)試實(shí)例由junit.frameword.TestCase繼承而來(lái)是為了利用JUnit框架的優(yōu)點(diǎn)。這個(gè)類(lèi)的名字是在被測(cè)試類(lèi)的名字上附加"Test"。因?yàn)槟阏跍y(cè)試一個(gè)名為IsoDate的類(lèi),所以其測(cè)試類(lèi)的名字是IsoDateTest。為了訪問(wèn)除私有方法之外的所有方法,這個(gè)類(lèi)通常與被測(cè)類(lèi)在同一個(gè)包中。

注意,你必須為你希望測(cè)試的在類(lèi)中定義的每個(gè)方法都編寫(xiě)一個(gè)方法。你要測(cè)試構(gòu)造器或使用了ISO日期格式的方法,因此你將需要為以ISO格式的字符串作為參數(shù)的構(gòu)造器和toString()方法編寫(xiě)一個(gè)測(cè)試方法。其命名方式與測(cè)試類(lèi)的命名方式類(lèi)似:在被測(cè)試方法(或構(gòu)造器)前面附加"test"。

上一頁(yè)12345下一頁(yè)
軟件測(cè)試工具 | 聯(lián)系我們 | 投訴建議 | 誠(chéng)聘英才 | 申請(qǐng)使用列表 | 網(wǎng)站地圖
滬ICP備07036474 2003-2017 版權(quán)所有 上海澤眾軟件科技有限公司 Shanghai ZeZhong Software Co.,Ltd