SpringBoot 單元測試JUnit的使用詳解
一、簡介
JUnit是一款優(yōu)秀的開源Java單元測試框架,也是目前使用率最高最流行的測試框架,開發(fā)工具Eclipse和IDEA對JUnit都有很好的支持,JUnit主要用于白盒測試和回歸測試。
白盒測試:把測試對象看作一個打開的盒子,程序內(nèi)部的邏輯結(jié)構(gòu)和其他信息對測試人 員是公開的;
回歸測試:軟件或環(huán)境修復(fù)或更正后的再測試;
單元測試:最小粒度的測試,以測試某個功能或代碼塊。一般由程序員來做,因為它需要知道內(nèi)部程序設(shè)計和編碼的細(xì)節(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 | 標(biāo)識為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é)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
springboot項目中沒有識別到y(tǒng)ml文件解決辦法
這篇文章主要給大家介紹了springboot項目中沒有識別到y(tǒng)ml文件解決辦法,文中通過代碼示例給大家講解的非常詳細(xì),對大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下2024-01-01Java游戲服務(wù)器之?dāng)?shù)據(jù)庫表存取封裝
這篇文章主要介紹了Java游戲服務(wù)器之?dāng)?shù)據(jù)庫表存取封裝的相關(guān)資料,需要的朋友可以參考下2015-11-11解讀java.lang.Character.isLetterOrDigit()的使用方式
這篇文章主要介紹了解讀java.lang.Character.isLetterOrDigit()的使用方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-06-06