Java 中的 JUnit 測試用例:簡單的 JUnit 5.7.1 Hello World 教程與多合一細節

已發表: 2019-10-30
java-junit-示例

什麼是 JUnit?

JUnit 是一個簡單、強大的開源框架,用於編寫和運行可重複的測試。 我喜歡 JUnit 測試用例。 在我的 Java 項目開發過程中,我廣泛使用 JUnit 進行代碼覆蓋。 它是用於單元測試框架的 xUnit 架構的一個實例。

JUnit 功能包括:

  1. 用於測試預期結果的斷言
  2. 用於共享通用測試數據的測試夾具
  3. 用於運行測試的測試運行器

在本教程中,我將介紹第 1 點和第 3 點。您的項目中需要以下 maven 依賴項。

讓我們開始編寫代碼。

第1步

創建項目CrunchifyJunitTest並指定包com.crunchify.junit 。 這是一個用於快速參考的包結構。

Crunchify JUnit 項目 Eclipse 結構

第2步

右鍵單擊CrunchifyJunitTest => New Class => CrunchifyJunitTest.java

第三步

輸入@Test後,Eclipse 將建議並自動添加org.junit.Test依賴項。

Eclipse 測試 Maven 依賴

第四步

測試您的 JUnit 測試

  • 右鍵單擊類
  • 點擊運行方式
  • 點擊JUnit Test

你應該看到這樣的東西。

JUnit 測試成功

第 5 步

嘗試將方法期望值參數從30 => 300Hello World => Hello -- World更改並再次測試。

JUnit 測試失敗 - Crunchify 提示

第 6 步

現在讓我們via other java程序運行相同的測試用例。 創建CrunchifyRunnerJUnit.java

第 7 步

CrunchifyRunnerJUnit.java作為Java Application運行。

步驟 8

如果是1st code (正確的預期參數),您應該看到如下輸出:

第 9 步

如果是2nd code (不正確的預期參數),您應該看到如下內容:

你都準備好了。 如果您發現運行此代碼有任何問題,請告訴我。

Crunchify 的 JUnit 教程

JUnit 測試用例中可用的註解:

註解

描述

@Test 公共無效方法() 註釋@Test 標識一個方法是一個測試方法。
@Before public void 方法() 將在每次測試之前執行該方法。 該方法可以準備測試環境(例如讀取輸入數據,初始化類)。
@After 公共無效方法() 每次測試後都會執行該方法。 此方法可以清理測試環境(例如刪除臨時數據、恢復默認值)。
@BeforeClass 公共無效方法() 將在所有測試開始之前執行該方法一次。 這可用於執行時間密集型活動,例如連接到數據庫。
@AfterClass 公共無效方法() 在所有測試完成後將執行該方法一次。 這可用於執行清理活動,例如斷開與數據庫的連接。
@忽視將忽略測試方法。 當底層代碼已更改且測試用例尚未調整時,這很有用。 或者如果此測試的執行時間太長而無法包含在內。
@Test(預期 = Exception.class) 如果方法沒有拋出指定的異常,則失敗。
@Test(超時=100) 如果方法花費的時間超過 100 毫秒,則失敗。

可用的斷言測試方法:

陳述

描述

失敗(字符串) 讓方法失敗。 可用於檢查代碼的某個部分是否未到達。 或者在實現測試代碼之前進行失敗的測試。
斷言真(真)/斷言真(假) 永遠是真/假。 如果測試尚未實施,可用於預定義測試結果。
assertTrue([消息],布爾條件) 檢查布爾條件是否為真。
assertsEquals([字符串消息],預期,實際) 測試兩個值是否相同。 注意:對於數組,檢查的是引用而不是數組的內容。
assertsEquals([字符串消息],預期,實際,公差) 測試 float 或 double 值是否匹配。 容差是必須相同的小數位數。
assertNull([消息],對象) 檢查對像是否為空。
assertNotNull([消息],對象) 檢查對像是否不為空。
assertSame([String],預期,實際) 檢查兩個變量是否引用同一個對象。
assertNotSame([String],預期,實際) 檢查兩個變量是否引用不同的對象。