Java的JUnit 測試包進行單元測試

最近看一個項目的代碼,看到該項目對於每個類都會有一個測試程序。由於我須要用到項目中的某部分代碼作測試,想着可不能夠採用一樣的辦法,爲該部分寫一個測試程序。可是,後面發現不能夠,由於JUnit測試包須要有相似eclipse或者maven等開發環境下才能使用(僅僅是個人理解),由於須要下載JUnit測試包。因此,最後的實現是從新寫了一個含main()函數的類,修改pom.xml中的關於main()函數入口。 git

 

個人理解應該是,JUnit爲測試寫了一個普適的接口,好比main()函數接口等,客戶在使用的時候只須要編寫特定的部分便可。程序員

多數Java的開發環境都已經集成了JUnit做爲單元測試的工具,Junit測試是程序員測試,即所謂白盒測試,由於程序員知道被測試的軟件如何(How)完成功能和完成什麼樣(What)的功能。Junit是一套框架,繼承TestCase類,就能夠用Junit進行自動測試了。github

另外junit是在極限編程和重構(refactor)中被極力推薦使用的工具。什麼是極限編程?要求在編寫代碼以前先寫測試,這樣能夠強制你在寫代碼以前好好的思考代碼(方法)的功能和邏輯,不然編寫的代碼很不穩定,那麼你須要同時維護測試代碼和實際代碼,這個工做量就會大大增長。所以在極限編程中,基本過程是這樣的:構思-> 編寫測試代碼-> 編寫代碼-> 測試,並且編寫測試和編寫代碼都是增量式的,寫一點測一點,在編寫之後的代碼中若是發現問題能夠較快的追蹤到問題的緣由,減少迴歸錯誤的糾錯難度。編程

 

注意點以下:框架

一、使用簡單的 @Test 註解實現咱們的測試方法的編寫和執行eclipse

二、使用@Test 的 Ignore 屬性指定測試時跳過某個方法maven

三、使用註解 @Before 和 @After 來完成前置工做和後置工做函數

四、使用@Test 的屬性 timeout 來完成限時測試,以檢測代碼中的死循環工具

五、使用@Test 的屬性expected來監控測試方法中可能會拋出的某些異常單元測試

六、指定 JUnit 運行測試用例時的 Runner

七、testNG 多是用於大量數據測試

 

具體能夠參見這些連接:

https://my.oschina.net/bairrfhoinn/blog/167636

http://mark-yang.github.io/blog/2015/05/17/junit/

相關文章
相關標籤/搜索