SpringBoot項目中@Test不出現(xiàn)可點(diǎn)擊運(yùn)行的按鈕問題
@Test不出現(xiàn)可點(diǎn)擊運(yùn)行的按鈕
SpringBoot項目的test包里用來做測試的*****Test類里面的@Test單元測試不起作用,即左邊沒有可以運(yùn)行的按鈕,如下圖-1所示:
圖-1
這時我們看到@SpringBootTest注解也有,@Test注解也有,但是左邊沒有可運(yùn)行的按鈕,原因是這個類和類里的方法都不是公開(public)的,需要在class前加上public,也需要在類里的方法前面也加上,比如這個要在contextLoads方法的void前面也加上public,都加上后就能出現(xiàn)想要的效果了,如下圖-2所示:
此時,左邊就出現(xiàn)了能夠點(diǎn)擊運(yùn)行的三角按鈕,就可以用這個類寫方法測試了。
單元測試中有了@Test注解但是idea沒有執(zhí)行的按鈕
打算給自己的demo弄一個單元測試碰到的一些坑,我從其他項目復(fù)制一份單元測試發(fā)現(xiàn)左側(cè)沒有執(zhí)行按鈕
我去我另外一個項目左看右看了老半天沒找發(fā)現(xiàn)問題,然后我就想這個會不會是因?yàn)閷?dǎo)入的包不一樣所以出現(xiàn)了問題
org.junit.jupiter.api.Test和org.junit.Test就是這兩個
查閱了下資料,原理是
- spring boot 2.2之前使用的是 Junit4:org.junit.Test
- spring boot 2.2之后使用的是 Junit5:org.junit.jupiter.api.Test
看了一下項目springboot版本果然不一樣
解決辦法
如果你用的版本是spring boot 2.2之前的版本你給他加上public就行
擴(kuò)展
@RunWith(SpringRunner.class)的作用
注解的意義在于Test測試類要使用注入的類,比如@Autowired注入的類有了@RunWith(SpringRunner.class)這些類才能實(shí)例化到spring容器中,自動注入才能生效,不然直接一個NullPointerExecption
@SpringBootTest(classes = SpringBootShardingsphereDemoApplication.class)
該注解是用到類名上,表示自動啟動加載類或指定某個或多個加載啟動類,默認(rèn)會加載當(dāng)前module下的啟動類
以上為個人經(jīng)驗(yàn),希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Java模擬死鎖發(fā)生之演繹哲學(xué)家進(jìn)餐問題案例詳解
這篇文章主要介紹了Java模擬死鎖發(fā)生之演繹哲學(xué)家進(jìn)餐問題,結(jié)合具體演繹哲學(xué)家進(jìn)餐問題的案例形式詳細(xì)分析了死鎖機(jī)制與原理,需要的朋友可以參考下2019-10-10Spring boot validation校驗(yàn)方法實(shí)例
這篇文章主要給大家介紹了關(guān)于Spring boot validation校驗(yàn)方法的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-02-02Springboot?HTTP如何調(diào)用其他服務(wù)
這篇文章主要介紹了Springboot?HTTP如何調(diào)用其他服務(wù),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-01-01學(xué)會CompletableFuture輕松駕馭異步編程
這篇文章主要為大家介紹了CompletableFuture輕松駕馭異步編程教程詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-04-04深入分析Android系統(tǒng)中SparseArray的源碼
這篇文章主要介紹了深入分析Android系統(tǒng)中SparseArray的源碼,SparseArray為Java實(shí)現(xiàn),需要的朋友可以參考下2015-07-07