SpringBoot深入講解單元測試與熱部署應用
一、單元測試
開發(fā)中,每當完成一個功能接口或業(yè)務方法的編寫后,通常都會借助單元測試驗證該功能是否正確。Spring Boot對項目的單元測試提供了很好的支持,在使用時,需要提前在項目的pom.xml文件中添加spring-boot-starter-test測試依賴啟動器,可以通過相關注解實現(xiàn)單元測試
演示:
1.添加spring-boot-starter-test測試依賴啟動器
在項目的pom.xml文件中添加spring-boot-starter-test測試依賴啟動器,示例代碼如下 :
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency>
注意:使用Spring Initializr方式搭建的Spring Boot項目,會自動加入spring-boot-starter-test測試依賴啟動器,無需再手動添加
2.編寫單元測試類和測試方法
使用Spring Initializr方式搭建的Spring Boot項目,會在src.test.java測試目錄下自動創(chuàng)建與項目主程序啟動類對應的單元測試類
package com.lagou; import com.lagou.controller.HelloController; import org.junit.jupiter.api.Test; import org.junit.runner.RunWith; import org.junit.runners.JUnit4; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; import org.springframework.test.context.junit4.SpringRunner; /** * SpringJUnit4ClassRunner.class:Spring運行環(huán)境 * JUnit4.class:JUnit運行環(huán)境 * SpringRunner.class:Spring Boot運行環(huán)境 */ @RunWith(SpringRunner.class) //@RunWith:運行器 @SpringBootTest //標記為當前類為SpringBoot測試類,加載項目的ApplicationContext上下文環(huán)境 class Springbootdemo2ApplicationTests { /** * 需求:調(diào)用HelloController的hello方法 */ @Autowired private HelloController helloController; @Test void contextLoads() { String result = helloController.hello(); System.out.println(result); } }
上述代碼中,先使用@Autowired注解注入了DemoController實例對象,然后在contextLoads()方法中調(diào)用了DemoController類中對應的請求控制方法contextLoads(),并輸出打印結果。
二、熱部署
在開發(fā)過程中,通常會對一段業(yè)務代碼不斷地修改測試,在修改之后往往需要重啟服務,有些服務需要加載很久才能啟動成功,這種不必要的重復操作極大的降低了程序開發(fā)效率。為此,Spring Boot框架專門提供了進行熱部署的依賴啟動器,用于進行項目熱部署,而無需手動重啟項目 。
熱部署:在修改完代碼之后,不需要重新啟動容器,就可以實現(xiàn)更新。
使用步驟:
1)添加SpringBoot的熱部署依賴啟動器
2)開啟Idea的自動編譯
3)開啟Idea的在項目運行中自動編譯的功能
演示:
1.添加spring-boot-devtools熱部署依賴啟動器
在Spring Boot項目進行熱部署測試之前,需要先在項目的pom.xml文件中添加spring-boot-devtools熱部署依賴啟動器:
<!-- 引入熱部署依賴 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> </dependency>
由于使用的是IDEA開發(fā)工具,添加熱部署依賴后可能沒有任何效果,接下來還需要針對IDEA開發(fā)工具進行熱部署相關的功能設置。
2.IDEA工具熱部署設置
選擇IDEA工具界面的【File】->【Settings】選項,打開Compiler面板設置頁面
選擇Build下的Compiler選項,在右側(cè)勾選“Build project automatically”選項將項目設置為自動編譯,單擊【Apply】→【OK】按鈕保存設置
在項目任意頁面中使用組合快捷鍵“Ctrl+Shift+Alt+/”打開Maintenance選項框,選中并打開Registry頁面,具體如圖1-17所示
列表中找到“compiler.automake.allow.when.app.running”,將該選項后的Value值勾選,用于指定IDEA工具在程序運行過程中自動編譯,最后單擊【Close】按鈕完成設置
3.熱部署效果測試
啟動chapter01http://localhost:8080/hello
可以看出,瀏覽器輸出了“你好,Spring Boot”,說明項目熱部署配置成功。
到此這篇關于SpringBoot深入講解單元測試與熱部署應用的文章就介紹到這了,更多相關SpringBoot單元測試與熱部署內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Java實戰(zhàn)之實現(xiàn)文件資料上傳并生成縮略圖
這篇文章主要介紹了通過Java實現(xiàn)文件資料的上傳并生成一個縮略圖,文中的示例代碼講解詳細,對我們學習Java有一定的幫助,感興趣的小伙伴可以了解一下2021-12-12SpringBoot中的yaml語法及靜態(tài)資源訪問問題
這篇文章主要介紹了SpringBoot中的yaml語法及靜態(tài)資源訪問問題,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-07-07Java實現(xiàn)PDF轉(zhuǎn)HTML/Word/Excel/PPT/PNG的示例代碼
這篇文章主要為大家介紹了如何利用Java語言是PDF轉(zhuǎn)HTML、Word、Excel、PPT和PNG功能,文中的示例代碼講解詳細,感興趣的小伙伴可以了解一下2022-05-05Struts2之Action接收請求參數(shù)和攔截器詳解
這篇文章主要介紹了Struts2之Action接收請求參數(shù)和攔截器詳解,非常具有實用價值,需要的朋友可以參考下2017-05-05