在單元測(cè)試重寫(xiě)配置文件

單元測(cè)試的時(shí)候我們要屏蔽掉外部依賴(lài),對(duì)于微服務(wù),配置中心和注冊(cè)中心也要屏蔽,不然啟動(dòng)的時(shí)候就會(huì)進(jìn)行網(wǎng)絡(luò)調(diào)用,不但會(huì)影響單元測(cè)試的執(zhí)行速度,還會(huì)產(chǎn)生網(wǎng)絡(luò)報(bào)錯(cuò)。

為了方便管理,可以使用一個(gè)測(cè)試用的配置文件來(lái)覆蓋服務(wù)的配置。使用注解TestPropertySource 可以正確加載測(cè)試配置覆蓋服務(wù)的其他配置項(xiàng)。我們可以定義一個(gè)測(cè)試基類(lèi),然后讓工程里的所有測(cè)試類(lèi)都繼承,統(tǒng)一管理配置的入口。

@SpringBootTest
@TestPropertySource("classpath:test.yaml")
public class BaseTest {}
public class UserControllerTest extends BaseTest {}

要關(guān)閉Apollo配置中心和Eureka注冊(cè)中心只需要在test資源文件夾的test.yaml里面添加下面兩項(xiàng)配置即可

apollo.bootstrap.enabled: false
eureka.client.enabled: false

#假如使用active來(lái)管理配置,那么想在單元測(cè)試代碼里屏蔽所有的active可以這么寫(xiě)
spring.profiles.active:
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容