您的位置:軟件測(cè)試 > 開(kāi)源軟件測(cè)試 > 開(kāi)源單元測(cè)試工具 > junit
JUnit入門(mén)
作者:網(wǎng)絡(luò)轉(zhuǎn)載 發(fā)布時(shí)間:[ 2012/12/26 16:08:08 ] 推薦標(biāo)簽:

安裝JUnit

安裝很簡(jiǎn)單,先到以下地址下載一個(gè)新的zip包:
http://download.sourceforge.net/junit/
下載完以后解壓縮到你喜歡的目錄下,假設(shè)是JUNIT_HOME,然后將JUNIT_HOME下的junit.jar包加到你的系統(tǒng)的CLASSPATH環(huán)境變量中,對(duì)于IDE環(huán)境,對(duì)于需要用到的junit的項(xiàng)目增加到lib中,其設(shè)置不同的IDE有不同的設(shè)置,這里不多講。

如何使用JUnit寫(xiě)測(cè)試?

簡(jiǎn)單的范例如下:
1、創(chuàng)建一個(gè)TestCase的子類(lèi):
package junitfaq;

import java.util.*;
import junit.framework.*;

public class SimpleTest extends TestCase {

    public SimpleTest(String name) {
        super(name);
    }


2、寫(xiě)一個(gè)測(cè)試方法斷言期望的結(jié)果:
        public void testEmptyCollection() {
        Collection collection = new ArrayList();
        assertTrue(collection.isEmpty());
    }
注意:JUnit推薦的做法是以test作為待測(cè)試的方法的開(kāi)頭,這樣這些方法可以被自動(dòng)找到并被測(cè)試。

3、寫(xiě)一個(gè)suite()方法,它會(huì)使用反射動(dòng)態(tài)的創(chuàng)建一個(gè)包含所有的testXxxx方法的測(cè)試套件:
        public static Test suite() {
        return new TestSuite(SimpleTest.class);
    }

4、寫(xiě)一個(gè)main()方法以文本運(yùn)行器的方式方便的運(yùn)行測(cè)試:
        public static void main(String args[]) {
        junit.textui.TestRunner.run(suite());
    }
}

5、運(yùn)行測(cè)試:
以文本方式運(yùn)行:
java junitfaq.SimpleTest

通過(guò)的測(cè)試結(jié)果是:

.
Time: 0

OK (1 tests)

Time上的小點(diǎn)表示測(cè)試個(gè)數(shù),如果測(cè)試通過(guò)則顯示OK。否則在小點(diǎn)的后邊標(biāo)上F,表示該測(cè)試失敗。
每次的測(cè)試結(jié)果都應(yīng)該是OK的,這樣才能說(shuō)明測(cè)試是成功的,如果不成功要馬上根據(jù)提示信息進(jìn)行修正了。
如果JUnit報(bào)告了測(cè)試沒(méi)有成功,它會(huì)區(qū)分失。╢ailures)和錯(cuò)誤(errors)。失敗是你的代碼中的assert方法失敗引起的;而錯(cuò)誤則是代碼異常引起的,例如ArrayIndexOutOfBoundsException。


以圖形方式運(yùn)行:

java junit.swingui.TestRunner junitfaq.SimpleTest

通過(guò)的測(cè)試結(jié)果在圖形界面的綠色條部分。

 

以上是簡(jiǎn)單的測(cè)試樣例,在實(shí)際的測(cè)試中我們測(cè)試某個(gè)類(lèi)的功能是常常需要執(zhí)行一些共同的操作,完成以后需要銷(xiāo)毀所占用的資源(例如網(wǎng)絡(luò)連接、數(shù)據(jù)庫(kù)連接,關(guān)閉打開(kāi)的文件等),TestCase類(lèi)給我們提供了setUp方法和tearDown方法,setUp方法的內(nèi)容在測(cè)試你編寫(xiě)的TestCase子類(lèi)的每個(gè)testXxxx方法之前都會(huì)運(yùn)行,而tearDown方法的內(nèi)容在每個(gè)testXxxx方法結(jié)束以后都會(huì)執(zhí)行。這個(gè)既共享了初始化代碼,又消除了各個(gè)測(cè)試代碼之間可能產(chǎn)生的相互影響。

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