SpringBoot項目中@Test不出現(xiàn)可點擊運行的按鈕問題
@Test不出現(xiàn)可點擊運行的按鈕
SpringBoot項目的test包里用來做測試的*****Test類里面的@Test單元測試不起作用,即左邊沒有可以運行的按鈕,如下圖-1所示:
圖-1
這時我們看到@SpringBootTest注解也有,@Test注解也有,但是左邊沒有可運行的按鈕,原因是這個類和類里的方法都不是公開(public)的,需要在class前加上public,也需要在類里的方法前面也加上,比如這個要在contextLoads方法的void前面也加上public,都加上后就能出現(xiàn)想要的效果了,如下圖-2所示:
此時,左邊就出現(xiàn)了能夠點擊運行的三角按鈕,就可以用這個類寫方法測試了。
單元測試中有了@Test注解但是idea沒有執(zhí)行的按鈕
打算給自己的demo弄一個單元測試碰到的一些坑,我從其他項目復制一份單元測試發(fā)現(xiàn)左側沒有執(zhí)行按鈕
我去我另外一個項目左看右看了老半天沒找發(fā)現(xiàn)問題,然后我就想這個會不會是因為導入的包不一樣所以出現(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就行
擴展
@RunWith(SpringRunner.class)的作用
注解的意義在于Test測試類要使用注入的類,比如@Autowired注入的類有了@RunWith(SpringRunner.class)這些類才能實例化到spring容器中,自動注入才能生效,不然直接一個NullPointerExecption
@SpringBootTest(classes = SpringBootShardingsphereDemoApplication.class)
該注解是用到類名上,表示自動啟動加載類或指定某個或多個加載啟動類,默認會加載當前module下的啟動類
以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
深入分析Android系統(tǒng)中SparseArray的源碼
這篇文章主要介紹了深入分析Android系統(tǒng)中SparseArray的源碼,SparseArray為Java實現(xiàn),需要的朋友可以參考下2015-07-07