Eclipse 使用 JUnit 進行單元測試
1. 前言
通過前面章節的介紹,我們已經知道如何對我們的 java 代碼進行 Debug 了。
現在讓我們來介紹另外一個和調試相關的操作,就是使用 JUnit 單元測試框架進行單元測試。
對我們的程序進行 Debug 是為了找出程序出錯的地方,而使用 JUnit 進行單元測試除了驗證我們的代碼是否正確外,還有一個重要作用就是看代碼的編寫是否符合我們的業務邏輯需求。
我們將使用 JUnit 5 來介紹 JUnit 在 Eclipse 中的使用。本文不會對 JUnit 進行一個詳細的使用介紹,但為了第一次接觸 JUnit 的同學,讓我們先來看看 JUnit 的一個簡介。
2. JUnit 簡介
JUnit 起源于 1997 年,作為一個單元測試框架,至今已經 20 多年了,可以說有著較長的發展歷史。
JUnit 最初的版本是由兩位編程大師 Kent Beck 和 Erich Gamma 在一次飛行旅程中完成的,推出后一直備受 Java 開發者的青睞,所以其功能也只一直在演進。
JUnit 目前已經發展到了 5.x 版本,主要是為了當前主流的 Java 版本 JDK 8 以及更高的版本提供更好的支持 (如支持 Lambda 等) 和提供更豐富的測試功能 (如重復測試,參數化測試等)。
JUnit 5 這個版本是 JUnit 單元測試框架的一次重大升級,其架構也和以前的 JUnit 版本不同。
目前,JUnit 5 由三個不同的子項目構成:JUnit Platform + JUnit Jupiter + JUnit Vintage。
其中 JUnit Jupiter 包含了 JUnit 5 中新的編程模型和擴展模型,主要就是用于編寫測試代碼和擴展代碼。
所以,待會我們在 Eclipse 中新建 JUnit 測試時會選擇 New JUnit Jupiter test,它代表的就是 JUnit 5。
通常,如果新的項目中需要使用 JUnit 來進行單元測試,我都會建議使用 JUnit 5,因為這是以后的一種趨勢。
下面,讓我們看看如何在 Eclipse 中進行編寫和運行 JUnit 測試。
2. 創建測試文件夾
一般來說,我們會把測試相關的代碼放到一個獨立的文件夾中,而且通常名稱就是 test。
我們可以直接在我們的 Java 項目中新建一個文件夾,如下圖所示:
接著輸入文件夾的名稱為 test,如下圖所示:
然后建立和項目中同樣的包層級,包的創建我們已經介紹過了,這里不再贅述,最終如下圖所示:
3. 創建測試文件
現在,我們需要創建測試文件。
通過右鍵點擊我們的包名,彈出的菜單中并沒有測試文件,所以,我們選擇 Other…,如下圖所示:
在彈出的新建窗口中,我們直接在搜索框中輸入 test,然后選擇 Junit Test Case,如下圖所示:
點擊 Nest 后,我們需要填寫測試文件的名稱,其實測試文件就是一個測試類,所以名稱的命名應該和類名的命名規則一致,如下圖所示:
另外,在一步我們還需要選擇使用的 Junit 版本,我們這里選擇了目前最新的 Junit 5,也就是 New JUnit Jupiter test。
點擊 Finish 后,由于我們的項目還沒添加 JUnit 5框架的 JAR 包,所以,Eclipse 會詢問我們是否要現在添加,我們選擇是即可,如下圖所示:
點擊 OK 后,我們將可以看到 Eclipse 中新生成的測試文件 FirstTest.java,以及 Eclipse 幫我們導入的 JUnit 5 JAR 包,同時自動打開 FirstTest 類中也幫我們添加了一些默認代碼,如下圖所示:
現在,我們以及準備好運行測試前的所有工作了。
4. 運行測試
運行我們的測試代碼,其實和我們運行的 Java 程序類似,我們可以選擇在編輯視圖中鼠標右鍵,然后選擇 Run As -> JUnit Test,如下圖所示:
運行后,我們重點需要關注右邊 Eclipse 自動幫我們打開的 JUnit 視圖,如下圖所示:
5. 閱讀 JUnit 視圖
我們可以觀察到JUnit 視圖中默認分為上下兩個選項卡:一個選項卡顯示測試問題列表,另一個測試跟蹤選項卡將所有的測試問題顯示為樹。
我們可以通過雙擊測試跟蹤中的相應行來導航到對于的源代碼,如下圖所示:
5. 小結
本文中對如何在 Eclipse 中使用 JUnit 進行了介紹,從使用上并不難,大家可以自行嘗試。