優點
另外junit是在極限編程和重構(refactor)中被極力推薦使用的工具,因為在實現自動單元測試的情況下可以大大的提高開發的效率,但是實際上編寫測試代碼也是需要耗費很多的時間和精力的,那麼使用這個東西好處到底在哪裡呢?筆者認為是這樣的:
極限編程
要求在編寫代碼之前先寫測試,這樣可以強制你在寫代碼之前好好的思考代碼(方法)的功能和邏輯,否則編寫的代碼很不穩定,那麼你需要同時維護測試代碼和實際代碼,這個工作量就會大大增加。因此在極限編程中,基本過程是這樣的:構思->編寫測試代碼->編寫代碼->測試,而且編寫測試和編寫代碼都是增量式的,寫一點測一點,在編寫以後的代碼中如果發現問題可以較快的追蹤到問題的原因,減小回歸錯誤的糾錯難度。
重構
其好處和極限編程中是類似的,因為重構也是要求改一點測一點,減少回歸錯誤造成的時間消耗。
其他情況
我們在開發的時候使用junit寫一些适當的測試也是有必要的,因為一般我們也是需要編寫測試的代碼的,可能原來不是使用的junit,如果使用junit,而且針對接口(方法)編寫測試代碼會減少以後的維護工作,例如以後對方法内部的修改(這個就是相當于重構的工作了)。另外就是因為junit有斷言功能,如果測試結果不通過會告訴我們哪個測試不通過,為什麼,而如果是像以前的一般做法是寫一些測試代碼看其輸出結果,然後再由自己來判斷結果是否正确,使用junit的好處就是這個結果是否正确的判斷是它來完成的,我們隻需要看看它告訴我們結果是否正确就可以了,在一般情況下會大大提高效率。
特性
JUnit是一個Java語言的單元測試框架。它由Kent Beck和Erich Gamma建立,逐漸成為源于Kent Beck的sUnit的xUnit家族中為最成功的一個。JUnit有它自己的JUnit擴展生态圈。
JUnit是一個開放源代碼的Java測試框架,用于編寫和運行可重複的測試。他是用于單元測試框架體系xUnit的一個實例(用于java語言)。它包括以下特性:
用于測試期望結果的斷言(Assertion)
用于共享共同測試數據的測試工具
用于方便的組織和運行測試的測試套件
圖形和文本的測試運行器
安裝
安裝很簡單,先到以下地址下載一個最新的zip包:
下載完以後解壓到目錄下,假設是JUNIT_HOME,然後将JUNIT_HOME下的junit.jar包加到你的系統的CLASSPATH環境變量中,對于IDE環境,對于需要用到的junit的項目增加到lib中。