說說junit測試技術,其實這個技術大部分人都聽過,只是有些人沒用過而已,這東西說起來也很容易,但是確實軟件開發過程中必不可少的一門技術,對于一些不規范的小公司也許產品的發布不經過測試,但是對于大型的軟件開發的時候,這技術往往是必不可少的,因為任何一個小地方出錯都可能是一個很難發現的,但是junit技術這個單元測試技術讓我們能邊開發邊測試,使我們的終產品出錯的幾率達到少。
我講的例子,開發環境是myeclipse6.0,在這個開發環境中其實已經集成了我們所要的JUnit測試相關的類,只要我們在環境中設置即可,如下圖所示,當我們建立一個java工程之后點擊工程屬性即按下圖所示設置好即可:
此時我們的工程把這些Junit的測試相關的類都導進來了,這時可以開始我們的測試歷程了。
我們通常是在src源文件包下寫我們的源碼,為了保證我們的測試類既能與我們的工程分開又能使我們的項目的測試類編譯之后能夠與我們的要進行測試的類的編譯文件在同一個包下,我們可以在工程中新建一個test源包,但是我們要保證測試類和我們的要測試的類有一樣的包路徑,例如我們的測試類的相對路徑為 org.rjb.Calculate,那么我們在test源包下的測試類的路徑為org.rjb.CalculateTest,這樣一來他們編譯之后在同一個包路徑下了,不信你可以試試看噢。
下面我先講講一些規則:
測試類名詞我們可以定義為被測試類類名+Test來命名(不成文規定);
測試類必須繼承自junit.framework.TestCase,它有幾個這里需要聲明的方法:
1.public void setUp():這個方法是在每個測試方法開始前要調用的方法,也是說有幾個方法要測試,那要進行幾次 調用,在JUnit3.8中只能這樣,但是在JUnit4.0中卻可以在整個測試過程中只調用一次。
2.public void tearDown():這個方法和上面的方法相對了,也是在每個測試方法測試之后調用,調用次數完全和上面的方法相同。
測試類中的方法命名規則為test+被測試方法名,當然要被測試方法名要大寫了。也是說測試方法必須是test開頭的,可見找到相應的方法是通過反射來找到的。
考慮到我們能夠一次性把所有的測試類都執行,我們可以定義一個測試類,只要繼承junit.framework.TestSuite可以了,此時我們必須有下面方法public static Test suite(),究竟如何使用請看下面的代碼展示。