JUnit那些事

    在一個項目中,程序員天天的工做無非是,將今天須要作得事情從svn服務器中checkout下來,而後運行一遍單元測試,以後開始編寫代碼,下班時,在運行一次單元測試,而後提交代碼,周而復始。java

    在一些小公司裏,可能並非那麼規範,因此也可能不會用到junit,可是大部分比較正規的軟件仍是必須的,咱們要作的就是,使本身更專業,作事更流程化、規範化,這纔是你要去往的方向。程序員

    企業開發一款軟件,通常要經歷一下幾個階段的測試,單元測試、模塊測試、集成測試、壓力測試等。測試的內容至關之多,這裏咱們就從單元測試開始。服務器

    由於如今主要使用的仍是junit4,因此主要講junit4,下載地址:http://sourceforge.net/projects/junit/ 使用junit的基本原則是:eclipse

一、導入junit的jar,不建議直接使用eclipse中所提供的包。svn

二、在src目錄下編寫服務代碼工具

三、建立測試類單元測試

    基本原則: 一、在eclipse中建立一個source folder命名爲test測試

                 二、建立一個測試類所在的包,包的名稱和測試的類一致。ui

四、Junit3和Junit4二者之間的區別是很是明顯的google

    在Junit3中,若是某個類須要是測試類,必須將其繼承於TestCase, 若是某個方法須要是測試方法,必須讓這個方法經過testXXX開頭,在junit3中,若是但願指定某個測試方法運行以前運行某個初始化方法,這個方法的名稱必須是setUp,若是但願在某個測試方法運行以後運行某個釋放資源的方法,這個方法的名稱必須是teadDown

    在Junit4中,一個POJO類就是一個測試類,測試方法經過@Test來標識,初始化方法經過@Before,釋放資源的方法經過@After來標註。可是爲了讓Junit4中的測試類在Junit3中也可使用,習慣與把初始化方法命名爲setUp, 釋放資源的方法命名爲tearDown,測試方法也一樣以test開頭。

五、如何使用斷言
   在junit4中提供了一個Assert的類,這個類中有大量的方法進行斷言處理,在junit3中因爲繼承了TestCase,這個TestCase中提供了大量的assert方法

junit擴展工具hamcrest

下載地址:https://code.google.com/p/hamcrest/downloads/detail?name=hamcrest-1.3.zip

hamcrest能夠有效增長junit的測試能力,用一些相對通俗的語言來進行測試
要使用junit中的assertThat來進行斷言
第一個參數表示實際值,第二個參數表示hamcrest的表達式

特別注意:若是使用junit4.10,必須把hamcrest的jar包移到junit的jar以前,不然,組合條件allOf,anyOf都會拋出異常。

組合多個測試類,同時測試使用TestSuite

package com.wp.util;

import org.junit.runner.RunWith;
import org.junit.runners.Suite;
import org.junit.runners.Suite.SuiteClasses;

@RunWith(Suite.class)
@SuiteClasses({ TestA.class,
				TestB.class,
				TestCulcuate.class })
public class TestSuite {
	/*
	 * 測試原則:
	 * 	一、建議建立一個專門的source folder --> test來編寫測試類代碼
	 *  二、測試類的包應該保持和須要測試的類一致
	 *  三、測試單元中的每個測試方法都必須能夠獨立執行,沒有順序
	 */
}



基本結構就是上面的樣子。

相關文章
相關標籤/搜索