SpringBoot 單元測試JUnit的使用詳解
一、簡介
JUnit是一款優(yōu)秀的開源Java單元測試框架,也是目前使用率最高最流行的測試框架,開發(fā)工具Eclipse和IDEA對JUnit都有很好的支持,JUnit主要用于白盒測試和回歸測試。
白盒測試:把測試對象看作一個打開的盒子,程序內(nèi)部的邏輯結(jié)構(gòu)和其他信息對測試人 員是公開的;
回歸測試:軟件或環(huán)境修復(fù)或更正后的再測試;
單元測試:最小粒度的測試,以測試某個功能或代碼塊。一般由程序員來做,因為它需要知道內(nèi)部程序設(shè)計和編碼的細節(jié);
二、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的運行環(huán)境。 |
| @SpringBootTest | 獲取啟動類、加載配置,確定裝載Spring Boot。 |
| @Test | 聲明需要測試的方法。 |
| @BeforeClass | 針對所有測試,只執(zhí)行一次,且必須為static void。 |
| @AfterClass | 針對所有測試,只執(zhí)行一次,且必須為static void。 |
| @Before | 每個測試方法前都會執(zhí)行的方法。 |
| @After | 每個測試方法前都會執(zhí)行的方法。 |
| @Ignore | 忽略方法。 |
4、超時測試
@Test(timeout = 1000)
5、斷言測試
斷言測試也就是期望值測試,是單元測試的核心也就是決定測試結(jié)果的表達式。
| 方法 | 釋義 |
|---|---|
| Assert.assertEquals | 對比兩個值相等 |
| Assert.assertNotEquals | 對比兩個值不相等 |
| Assert.assertSame | 對比兩個對象的引用相等 |
| Assert.assertArrayEquals | 對比兩個數(shù)組相等 |
| Assert.assertTrue | 驗證返回是否為真 |
| Assert.assertFlase | 驗證返回是否為假 |
| Assert.assertNull | 驗證null |
| Assert.assertNotNull | 驗證非null |
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
InterProcessMutex實現(xiàn)zookeeper分布式鎖原理
本文主要介紹了InterProcessMutex實現(xiàn)zookeeper分布式鎖原理,文中根據(jù)實例編碼詳細介紹的十分詳盡,具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-03-03
SpringBoot?AspectJ切面配合自定義注解實現(xiàn)權(quán)限校驗的示例詳解
本文章介紹了如何通過創(chuàng)建自定義的權(quán)限校驗注解,配合AspectJ切面攔截注解實現(xiàn)權(quán)限校驗,本文結(jié)合實例代碼給大家介紹的非常詳細,對大家的學(xué)習或工作具有一定的參考借鑒價值,需要的朋友參考下吧2025-09-09

