SpringBootTest單元測試報錯的解決方案
SpringBootTest單元測試報錯
@RunWith(SpringRunner.class) @SpringBootTest(classes = { DataRulesApplication.class }) @EnableAutoConfiguration //@SpringBootTest(classes = { DataRulesApplication.class }) public class HuaboAddressTest extends AbstractTestNGSpringContextTests { @Autowired private HuaboAddressServiceImpl johnyService; @Test public void queryState() { //johnyService.resetAllDistricts(); long startTime = System.currentTimeMillis(); // johnyService.resetAllDistricts(); // johnyService.batchUpdate2(); // johnyService.batchupdate3(); //johnyService.resetAllDistricts(); johnyService.updateBatch(); long endTime = System.currentTimeMillis(); System.out.println("執行時間:" + (endTime - startTime)); // long startTime = System.currentTimeMillis(); // johnyService.select1(); // long endTime = System.currentTimeMillis(); // System.err.println("執行時間1:"+(endTime-startTime)); // startTime = System.currentTimeMillis(); // johnyService.select2(); // endTime = System.currentTimeMillis(); // System.err.println("執行時間2:"+(endTime-startTime)); } @Test public void check() { } @Test public void register() { } @Test public void detail() { } @Test public void queryCategory() { } }
其實隻需要在setting中設置運行test的環境即可。
單元測試 @mock和@SpringBootTest使用
在寫單元測試的過程中我們會發現需要測試的類有很多依賴,這些依賴的類或者資源又會有依賴,導致在單元測試代碼裡無法完成構建,我們應對的方法是Mock。簡單的說就是模擬這些需要構建的類或者資源,提供給需要測試的對象使用。
一.單元測試工具mock使用
1.引入依賴包
2.mock測試類
二.springboot使用@SpringBootTest單元測試
1.引入依賴包
2.測試類
三.mock和@springBootTest區別
1.mock進行單元測試不依賴spring的bean定義文件,不需要啟動web服務,執行起來速度很快。
2.@springBootTest需要啟動服務,執行真正的操作,執行速度慢,當需要真正的dao層操作時可選此測試方式。
以上為個人經驗,希望能給大傢一個參考,也希望大傢多多支持WalkonNet。
推薦閱讀:
- 解決SpringBoot運行Test時報錯:SpringBoot Unable to find
- Java定時任務schedule和scheduleAtFixedRate的異同
- java中for和forEach的速度比較實例Demo
- Java查詢時間段(startTime–endTime)間的數據方式
- mybatis判斷int是否為空的時候,需要註意的3點