SpringBoot 單元測試JUnit的使用詳解
阿新 • • 發佈:2020-01-07
一、簡介
JUnit是一款優秀的開源Java單元測試框架,也是目前使用率最高最流行的測試框架,開發工具Eclipse和IDEA對JUnit都有很好的支援,JUnit主要用於白盒測試和迴歸測試。
白盒測試:把測試物件看作一個開啟的盒子,程式內部的邏輯結構和其他資訊對測試人 員是公開的;
迴歸測試:軟體或環境修復或更正後的再測試;
單元測試:最小粒度的測試,以測試某個功能或程式碼塊。一般由程式設計師來做,因為它需要知道內部程式設計和編碼的細節;
二、JUnit使用
1、pom.xml中新增JUnit依賴。
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency>
2、簡單程式碼
@RunWith(SpringRunner.class) @SpringBootTest public class JUnitTest { @Test public void test() { System.out.println(("----- method test ------")); String name = "yunfan"; Assert.assertEquals("yunfan22",name); } }
在測試類中執行專案:
很明顯這是測試不通過的效果,如果是通過的呢,看下圖:
3、註解說明
註解 | 釋義 |
---|---|
@RunWith | 標識為JUnit的執行環境。 |
@SpringBootTest | 獲取啟動類、載入配置,確定裝載Spring Boot。 |
@Test | 宣告需要測試的方法。 |
@BeforeClass | 針對所有測試,只執行一次,且必須為static void。 |
@AfterClass | 針對所有測試,只執行一次,且必須為static void。 |
@Before | 每個測試方法前都會執行的方法。 |
@After | 每個測試方法前都會執行的方法。 |
@Ignore | 忽略方法。 |
4、超時測試
@Test(timeout = 1000)
5、斷言測試
斷言測試也就是期望值測試,是單元測試的核心也就是決定測試結果的表示式。
方法 | 釋義 |
---|---|
Assert.assertEquals | 對比兩個值相等 |
Assert.assertNotEquals | 對比兩個值不相等 |
Assert.assertSame | 對比兩個物件的引用相等 |
Assert.assertArrayEquals | 對比兩個陣列相等 |
Assert.assertTrue | 驗證返回是否為真 |
Assert.assertFlase | 驗證返回是否為假 |
Assert.assertNull | 驗證null |
Assert.assertNotNull | 驗證非null |
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。