學(xué)習(xí)文章: https://www.cnblogs.com/ysocean/p/6889906.html
開發(fā)工具: IDEA 2022.1.4
目錄
目錄
1. 概述
?2. 實(shí)現(xiàn)步驟
??????? 2.1 maven導(dǎo)入依賴
???????? 2.2 隨意代碼演示(不推薦)
??????? 2.3 規(guī)范代碼演示(推薦)
3. Junit相關(guān)其他注解
4. 注意事項(xiàng)
5. 結(jié)語
1. 概述
??????? 接觸到Junit,應(yīng)該是看別人Java代碼有一個(gè)@Test注解開始。就百度了解下,從英文名看,是“測試”的意思。那么Java方法加入了注解@Test,則說明該方法可直接運(yùn)行。
??????? 之前寫類,如果要測試的話,就在main()方法測試,如果該類方法過多,都寫在main的話,要不停的去注釋代碼,寫新的測試代碼。那么使用Junit的話,則簡便很多,直接加入@Test注解即可。
??????? 觀察效果,加入了注解后,方法行前面會有綠色的圖標(biāo),點(diǎn)擊圖標(biāo),分別點(diǎn)擊test()方法和main()方法,顯示如下:
?
??????? 也就說,這個(gè)test()方法是可以直接運(yùn)行了。
??????? 需要注意的是,加入@Test注解的方法,聲明必須是public void并且無參
?2. 實(shí)現(xiàn)步驟
??????? 2.1 maven導(dǎo)入依賴
<!-- 單元測試 -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
</dependency>
???????? 2.2 隨意代碼演示(不推薦)
??????? 我在工具類中加入了main()和test()方法,用來測試getToken()方法,均可實(shí)現(xiàn),但實(shí)際中不這么寫,看自己隨意。
public class JwtUtils {
public static String SECRET= "1c2h3e4n5w6e7i8x9i0n";
public static String getToken(Map<String, String> map){
JWTCreator.Builder builder= JWT.create();
map.forEach((k,v)->{
builder.withClaim(k,v);
});
Calendar instance= Calendar.getInstance();
instance.add(Calendar.HOUR, 2); //默認(rèn)2小時(shí)過期
builder.withExpiresAt(instance.getTime());
String token= builder.sign(Algorithm.HMAC256(SECRET));
return token;
}
public static DecodedJWT verfy(String token){
DecodedJWT decodedJWT= JWT.require(Algorithm.HMAC256(SECRET)).build().verify(token);
return decodedJWT;
}
@Test
public void test() {
Map<String,String> map=new HashMap<>();
map.put("username", "1107230602");
map.put("password", "0246813579");
String token= JwtUtils.getToken(map);
System.out.print(token);
}
public static void main(String[] args) {
Map<String,String> map=new HashMap<>();
map.put("username", "1107230602");
map.put("password", "0246813579");
String token= JwtUtils.getToken(map);
System.out.print(token);
}
}
??????? 2.3 規(guī)范代碼演示(推薦)
在工程test目錄下,如下路徑,并創(chuàng)建測試類,一般以被測試目標(biāo)類名+Test:
?????????此處注意,在類名那里,也有一個(gè)綠色圖標(biāo),運(yùn)行這個(gè)圖標(biāo),則是把整個(gè)測試類的所有@Test方法都執(zhí)行,只有點(diǎn)擊方法那里的綠色圖標(biāo),才是執(zhí)行指定方法。
3. Junit相關(guān)其他注解
??????? 以下代碼源自: "https://www.cnblogs.com/ysocean/p/6889906.html" :
??????? 通過以下代碼,可以理清Junit相關(guān)注解的搭配使用.
public class JunitTest {
public JunitTest() {
System.out.println("構(gòu)造函數(shù)");
}
@BeforeClass
public static void beforeClass(){
System.out.println("@BeforeClass");
}
@Before
public void befor(){
System.out.println("@Before");
}
@Test
public void test(){
System.out.println("@Test");
}
@Ignore
public void ignore(){
System.out.println("@Ignore");
}
@After
public void after(){
System.out.println("@After");
}
@AfterClass
public static void afterClass(){
System.out.println("@AfterClass");
}
}
執(zhí)行效果:
@BeforeClass
構(gòu)造函數(shù)
@Before
@Test
@After
@AfterClass
4. 注意事項(xiàng)
????????注意:編寫測試類的原則:
①測試方法上必須使用@Test進(jìn)行修飾
? ? ? ? ②測試方法必須使用public void 進(jìn)行修飾,不能帶任何的參數(shù)
? ? ? ? ③新建一個(gè)源代碼目錄來存放我們的測試代碼,即將測試代碼和項(xiàng)目業(yè)務(wù)代碼分開
? ? ? ? ④測試類所在的包名應(yīng)該和被測試類所在的包名保持一致
? ? ? ? ⑤測試單元中的每個(gè)方法必須可以獨(dú)立測試,測試方法間不能有任何的依賴
? ? ? ? ⑥測試類使用Test作為類名的后綴(不是必須)
? ? ? ? ⑦測試方法使用test作為方法名的前綴(不是必須)
5. 結(jié)語
??????? Junit 單元測試框架文章來源:http://www.zghlxwxcb.cn/news/detail-708255.html
??????? 僅供參考.文章來源地址http://www.zghlxwxcb.cn/news/detail-708255.html
到了這里,關(guān)于SpringBoot 集成Junit單元測試的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!