在Eclipse中使用JUnit進行單元測試(二)

來源:互聯網
上載者:User

4. 在Eclipse中使用JUnit

測試對於保證軟體開發品質有著非常重要的作用,單元測試更是必不可少,JUnit是一個非常強大的單元測試包,可以對一個/多個類的單個/多個方法測試,還可以將不同的TestCase組合成TestSuit,使測試工作自動化。Eclipse同樣整合了JUnit,可以非常方便地編寫TestCase。

我們建立一個Java工程,添加一個example.Hello類,首先我們給Hello類添加一個abs()方法,作用是返回絕對值:

下一步,我們準備對這個方法進行測試,確保功能正常。選中Hello.java,右鍵點擊,選擇New->JUnit Test Case:

Eclipse會詢問是否添加junit.jar包,確定後建立一個HelloTest類,用來測試Hello類。

選中setUp()和tearDown(),然後點擊“Next”:

選擇要測試的方法,我們選中abs(int)方法,完成後在HelloTest.java中輸入:

 

JUnit會以以下順序執行測試:(大致的代碼)

try {
    HelloTest test = new HelloTest(); // 建立測試類別執行個體
    test.setUp(); // 初始化測試環境
    test.testAbs(); // 測試某個方法
    test.tearDown(); // 清理資源
}
catch…

setUp()是建立測試環境,這裡建立一個Hello類的執行個體;tearDown()用於清理資源,如釋放開啟的檔案等等。以test開頭的方法被認為是測試方法,JUnit會依次執行testXxx()方法。在testAbs()方法中,我們對abs()的測試分別選擇正數,負數和0,如果方法傳回值與期待結果相同,則assertEquals不會產生異常。

如果有多個testXxx方法,JUnit會建立多個XxxTest執行個體,每次運行一個testXxx方法,setUp()和tearDown()會在testXxx前後被調用,因此,不要在一個testA()中依賴testB()。

直接運行Run->Run As->JUnit Test,就可以看到JUnit測試結果:

綠色表示測試通過,只要有1個測試未通過,就會顯示紅色並列出未通過測試的方法。可以試圖改變abs()的代碼,故意返回錯誤的結果(比如return n+1;),然後再運行JUnit就會報告錯誤。

如果沒有JUnit面板,選擇Window->Show View->Other,開啟JUnit的View:

JUnit通過單元測試,能在開發階段就找出許多Bug,並且,多個Test Case可以組合成Test Suite,讓整個測試自動完成,尤其適合於XP方法。每增加一個小的新功能或者對代碼進行了小的修改,就立刻運行一遍Test Suite,確保新增和修改的代碼不會破壞原有的功能,大大增強軟體的可維護性,避免代碼逐漸“腐爛”。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.