SpringBoot測(cè)試配置屬性與web啟動(dòng)環(huán)境超詳細(xì)圖解
加載測(cè)試專(zhuān)用的屬性
點(diǎn)開(kāi)@SpringBootTest源碼中查看
可以在之后加入臨時(shí)配置, 也可以使用命令行args參數(shù)設(shè)置。設(shè)置的測(cè)試專(zhuān)用參數(shù)會(huì)覆蓋配置文件中的。
package com; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.test.context.SpringBootTest; @SpringBootTest(args = {properties = {"test.properties=1234"}) public class TestProperties { @Value("${test.properties}") private String ps; @Test public void test(){ System.out.println(ps); } }
運(yùn)行結(jié)果
也可以使用命令行參數(shù)
args = {"--test.properties=4321"},
命令行參數(shù)的優(yōu)先級(jí)比配置文件的高,所以當(dāng)兩者共存的時(shí)候,以命令行的為主
@SpringBootTest(args = {"--test.properties=4321"},properties = {"test.properties=1234"})
這個(gè)測(cè)試類(lèi)設(shè)置的屬性只對(duì)當(dāng)前測(cè)試有效,影響小
使用外部bean對(duì)測(cè)試
package com.config; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; @Configuration//說(shuō)明當(dāng)前為配置類(lèi) public class TestBean { @Bean//創(chuàng)建bean public String mess(){ return "this bean run "; } }
在測(cè)試類(lèi)下,使用@Import注解加載當(dāng)前測(cè)試配置
package com.test; import com.config.TestBean; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.context.annotation.Import; @SpringBootTest @Import({TestBean.class}) public class TestBeanNow { @Autowired//注入bean對(duì)象 public String mess; @Test public void test(){ System.out.println(mess); } }
運(yùn)行結(jié)果
測(cè)速類(lèi)啟動(dòng)web環(huán)境
在測(cè)試類(lèi)中運(yùn)行一般是不會(huì)啟動(dòng)服務(wù)器的,如下圖。都是顯示運(yùn)行成功或失敗的信息
我們Ctrl+b點(diǎn)進(jìn)@SpringBootTest源碼中查看,有一個(gè)關(guān)于web的
默認(rèn)值是MOCK,mock:默認(rèn)提供一個(gè)模擬的web環(huán)境,不會(huì)啟動(dòng)內(nèi)嵌的服務(wù)器
我們?cè)跍y(cè)試類(lèi)中
第一個(gè)是以你配置文件指定的端口啟動(dòng),如果沒(méi)有就默認(rèn)以8080啟動(dòng)
第二個(gè)mock:默認(rèn)提供一個(gè)模擬的web環(huán)境,不會(huì)啟動(dòng)內(nèi)嵌的服務(wù)器
第三個(gè)是不啟動(dòng)服務(wù)器
第四個(gè)是隨機(jī)端口啟動(dòng)
我們測(cè)試隨機(jī)端口啟動(dòng)
package com; import org.junit.jupiter.api.Test; import org.springframework.boot.test.context.SpringBootTest; @SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) public class WebTest { @Test public void test(){ } }
運(yùn)行結(jié)果
運(yùn)行了兩次看端口結(jié)果,都是隨機(jī)的
到此這篇關(guān)于SpringBoot測(cè)試配置屬性與web啟動(dòng)環(huán)境超詳細(xì)圖解的文章就介紹到這了,更多相關(guān)SpringBoot測(cè)試配置屬性?xún)?nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Java并發(fā)編程數(shù)據(jù)庫(kù)與緩存數(shù)據(jù)一致性方案解析
這篇文章主要為大家介紹了Java并發(fā)編程中數(shù)據(jù)庫(kù)與緩存數(shù)據(jù)一致性解決方案,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步早日升職加薪2022-04-04SpringMVC中MultipartFile轉(zhuǎn)File的兩種方式
在spring上傳文件中,一般都使用了MultipartFile來(lái)接收,但是有需要用到File的地方,本文主要介紹了SpringMVC中MultipartFile轉(zhuǎn)File的兩種方式,感興趣的可以了解一下2022-04-04Java并發(fā)系列之ConcurrentHashMap源碼分析
這篇文章主要為大家詳細(xì)分析了Java并發(fā)系列之ConcurrentHashMap源碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-03-03詳解Java實(shí)現(xiàn)批量壓縮圖片裁剪壓縮多種尺寸縮略圖一鍵批量上傳圖片
這篇文章主要介紹了Java實(shí)現(xiàn)批量壓縮圖片裁剪壓縮多種尺寸縮略圖一鍵批量上傳圖片,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-03-03基于javax.validation結(jié)合spring的最佳實(shí)踐
這篇文章主要介紹了javax.validation結(jié)合spring的最佳實(shí)踐,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-07-07Java多線程基礎(chǔ) 線程的等待與喚醒(wait、notify、notifyAll)
這篇文章主要介紹了Java多線程基礎(chǔ) 線程的等待與喚醒,需要的朋友可以參考下2017-05-05Nacos設(shè)置為windows自啟動(dòng)服務(wù)的步驟詳解
這篇文章給大家介紹了Nacos設(shè)置為windows自啟動(dòng)服務(wù)的操作步驟,文中通過(guò)代碼示例和圖文結(jié)合講解的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下2023-12-12Java中如何使用正則表達(dá)式提取各種類(lèi)型括號(hào)中的內(nèi)容
最近在工作中遇到一個(gè)問(wèn)題,就是需要一個(gè)字符串中每一個(gè)中括號(hào)里的內(nèi)容,下面這篇文章主要給大家介紹了關(guān)于Java中如何使用正則表達(dá)式提取各種類(lèi)型括號(hào)中的內(nèi)容,需要的朋友可以參考下2023-06-06Mybatis中輸入輸出映射與動(dòng)態(tài)Sql圖文詳解
這篇文章主要給大家介紹了關(guān)于Mybatis中輸入輸出映射與動(dòng)態(tài)Sql的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-02-02