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

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

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

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

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

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

java junit.textui.TestRunner IsoDateTest
 

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

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

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

java junit.awtui.TestRunner IsoDateTest
 

或者使用Swing界面:

java junit.swingui.TestRunner IsoDateTest
 

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

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

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

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

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

編寫Junit測試實例

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

測試實例由junit.frameword.TestCase繼承而來是為了利用JUnit框架的優(yōu)點。這個類的名字是在被測試類的名字上附加"Test"。因為你正在測試一個名為IsoDate的類,所以其測試類的名字是IsoDateTest。為了訪問除私有方法之外的所有方法,這個類通常與被測類在同一個包中。

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

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