今天說說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(),究竟如何使用請看下面的代碼展示。