單元測試
眾所周知,程序員在開發過程中,每當完成一個功能接口的開發或者業務方法的代碼編寫後,通常都會藉助單元測試驗證開發的功能知否能夠正常運行。因此SpringBoot提供了一些註解和工具去幫助程序員測試功能。在使用時,需要提前在項目的Maven的pom.xml文件中添加spring-boot-starter-test測試依賴啟動器,就可以通過相關註解實現單元測試。
添加spring-boot-starter-test依賴
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
複製代碼編寫單元測試類進行測試
/**
* SpringJUnit4ClassRunner.class:Spring運行環境
* JUnit4.class:JUnit運行環境
* SpringRunner.class:Spring Boot運行環境
*/
@RunWith(SpringRunner.class)
//標記為當前類為SpringBoot測試類,加載項目的ApplicationContext上下文環境
@SpringBootTest
class SpringbootDemoApplicationTests {
@Test
void contextLoads() {
}
@Resource
private DemoController demoController;
@Test
public void testDemoController(){
String s = demoController.helloBoot();
System.out.println(s);
}
}
複製代碼上述代碼中,先使用@Resource註解注入了DemoController實例對象,然後在testDemoController()方 法中調用了DemoController類中對應的請求控制方法contextLoads(),並輸出打印結果

SpringBoot熱部署
通常情況下,在開發過程中,程序員需要對一段業務代碼進行不斷地修改測試,才能完成功能,但是在修改代碼之後需要重新啟動服務,而有些服務的啟動需要花費很長的時間,這種修改重啟的操作極大的降低了程序的開發效率。因此,SpringBoot專門提供了進行熱部署的依賴啟動期,用於進行項目熱部署,而無需手動重啟項目。
熱門部署:在修改完代碼之後,不需要重新啟動容器,就可以實現更新
熱部署的使用操作
- 添加spring-boot-devtools依賴
<!-- 引入熱部署依賴 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<optional>true</optional>
</dependency>
複製代碼因為SpringBoot熱部署使用的是IDEA開發工具,添加熱部署依賴後沒有任何效果,接下來還需要針對IDEA開發工具進行熱部署相關的功能設置
- IDEA工具熱部署設置
選擇IDEA工具界面的【File】->【Settings】選項,打開Compiler面板設置頁面

選擇Build下的Compiler選項,在右側勾選「Build project automatically」選項將項目設置為自動編 譯,單擊【Apply】→【OK】按鈕保存設置
在項目任意頁面中使用組合快捷鍵「Ctrl+Shift+Alt+/」打開Maintenance選項框,選中並打開 Registry頁面

列表中找到「
compiler.automake.allow.when.app.running」,將該選項後的Value值勾選,用於指 定IDEA工具在程序運行過程中自動編譯,最後單擊【Close】按鈕完成設置
- 測試熱部署是否成功
結果一

為了測試配置的熱部署是否有效,接下來,在不關閉當前項目的情況下,將DemoController 類中的請 求處理方法hello()的返回值修改為「Hello Spring Boot13333」並保存,查看控制台信息會發現項目能夠自動構建和編譯,說明項目熱部署生效
結果二

原創文章,作者:投稿專員,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/222577.html
微信掃一掃
支付寶掃一掃