當前位置:
首頁 >
前端技术
> javascript
>内容正文
javascript
Bug整理——Spring boot 执行Junit Test时不加载Application中的参数的问题
生活随笔
收集整理的這篇文章主要介紹了
Bug整理——Spring boot 执行Junit Test时不加载Application中的参数的问题
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
在我們的項目中,需要在Application中設置幾個系統參數才能正常打印日志,所以在Application.java中,我們是這么寫的:
@EnableTransactionManagement @SpringBootApplication @EnableCasClient @ComponentScan(basePackages={"com.test"}) public class Application {public static void main(String[] args) throws Exception {System.setProperty("aaa","bbbb");SpringApplication.run(Application.class, args);} }需要設置一個aaa = bbb,但是在執行test時,每次get時,卻發現是不正確的。后來經過排查,在跑test時,是不執行這個main方法的,所以才不會設置上,所以開始我是這么修復的:
???? @Test public void update(){System.setProperty("aaa","bbbb");//TODO 寫自己的test邏輯 }發現還是不對!!!
然后又意識到其實這里的代碼只有執行后才會生效,而我的getProperty的邏輯在config中,所以仍然獲取不到、
最后得出結論,需要在使用這個property參數之前設置。(好像廢話一樣....)
在configuration的代碼中加載是最好的,最先被執行。
總結
以上是生活随笔為你收集整理的Bug整理——Spring boot 执行Junit Test时不加载Application中的参数的问题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Java中重写equals()方法时注意
- 下一篇: Bug整理——阿里Ons高版本引入后Sp