Sprgin Testing ‐ JUnit 5 - CCH0124/spring-sandbox GitHub Wiki

  • @TestFactory – 表示該方法是動態測試的測試工廠
  • @DisplayName – 定義測試類別或測試方法的自定義顯示名稱
  • @Nested – 表示該註釋的類是一個內部的非靜態測試類
  • @Tag – 宣告過濾測試的標籤
  • @ExtendWith – 註冊自定義擴展
  • @BeforeEach – 表示註釋的方法將在每個測試方法之前執行
  • @AfterEach – 表示註釋的方法將在每個測試方法之後執行
  • @BeforeAll – 表示註釋的方法將在當前類的所有測試方法之前執行
  • @AfterAll – 表示註釋的方法將在當前類的所有測試方法之後執行
  • @Disabled – 禁用測試類別或方法

Junit 測試生命週期

基本註解

  • @BeforeAll
  • @BeforeEach
  • @DisplayName
  • @Disabled
  • @AfterEach
  • @AfterAll

Assertions 斷言與 Assumptions 假設

斷言用於驗證測試中的期望行為是否正確。如果斷言失敗,測試即失敗。斷言通常用於檢查測試的輸出結果是否符合預期。

  • assertEquals(expected, actual) 檢查兩個值是否相等
  • assertTrue(condition) 檢查條件是否為真
  • assertFalse(condition) 檢查條件是否為假
  • assertNull(object) 檢查物件是否為空 null
  • assertNotNull(object) 檢查物件是否不為 null
  • assertThrows(exceptionClass, executable) 檢查是否拋出指定的異常
  • assertAll(executables) 允許組合多個斷言一起檢查

假設用於判斷是否應該執行測試,根據一些前置條件來決定。如果假設失敗,測試會被標記為未執行(skipped),而不是失敗。

  • assumeTrue(condition) 如果條件為真,則繼續執行測試,否則跳過
  • assumeFalse(condition) 如果條件為假,則繼續執行測試,否則跳過
  • assumingThat(condition, executable) 條件為真時執行給定的可執行代碼段