Junit5測試入門使用
一知牌、概述
Junit是一套測試工具包。定義一套測試的API菩混。
起源于xUnit 的單元測試框架扁藕。有興趣可搜索了解一下。這里不過多描述邢疙。
二望薄、優(yōu)點
我們寫代碼時很經(jīng)常用main函數(shù)看看輸出代碼結(jié)果是否符合預(yù)期,但main函數(shù)會帶來幾個問題颁虐。
- 只能測試一個用例卧须,測試其他用例需要刪除前面的代碼或注釋。
- 輸出結(jié)果通過肉眼觀察數(shù)據(jù)進行判斷笋籽,數(shù)據(jù)多時難以達到高效率椭员。
而Junit解決了這些問題,擁有以下優(yōu)點:
- 擁有斷言機制容劳,預(yù)判一個準(zhǔn)確值可直觀看出對錯闸度。
- 能寫多個測試用例,不會對其他用例修改邏輯留量。
三、代碼描述
我們可以帶入junit的包或者使用maven指定junit坐標(biāo)都可以使用junit忆绰。
maven:
<!-- https://mvnrepository.com/artifact/org.junit.jupiter/junit-jupiter-api -->
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-api</artifactId>
<version>5.6.0</version>
<scope>test</scope>
</dependency>
1.@Test
新建一個類可岂,編寫方法缕粹,在方法上加入@Test注解代表這個方法是一個測試用例方法。
@Test
void selectTest() {
userMapper.delete(new QueryWrapper<UserPO>().le("id",1));
}
該方法能夠單獨運行亚享。
我們也能夠使用斷言預(yù)測結(jié)果绘面,更直觀的展示測試的結(jié)果。
@Test
public void testTes() {
int i = 3 * 4;
Assertions.assertEquals(i, 12);
}
我們預(yù)測代碼等于12晚凿,運行查看瘦馍,打鉤說明是正確的。
我們把代碼改成這樣,改為錯的扛吞。
@Test
public void testTes() {
int i = 3 * 2;
Assertions.assertEquals(i, 12);
}
結(jié)果:
2.@BeforeAll和@AfterAll
@BeforeAll
:放在方法上滥比,所有測試用例運行前運行該方法。
@AfterAll
:放在方法上濒持,所有測試用例運行后寺滚,運行該方法。
@BeforeAll
public static void be() {
System.out.println("測試前運行");
}
@AfterAll
public static void aft() {
System.out.println("測試運行后");
}
@Test
public void testTes() {
int i = 3 * 4;
Assertions.assertEquals(i, 12);
}
四官套、擴展知識
Assertions還有許多的斷言方法,可自行查看惋嚎。