簡體   English   中英

Spring 引導測試不加載主應用程序配置文件

[英]Spring Boot test doesn't load main application config files

我有一個 spring 啟動應用程序,我想測試一下。 對於測試,我需要加載整個 spring 上下文(就像我在啟動構建的應用程序時所做的那樣)。

我面臨的問題是,當我從maven-failsafe-plugin運行測試時,配置文件( application.ymlbootstrap.yml )文件沒有加載。 如果我從 Intellij 運行測試,一切正常。

這個問題類似於我嘗試從依賴項中重用配置文件時發生的情況。 我知道配置文件的加載在最近幾年發生了變化,我似乎無法忽視我遇到的問題。

有人知道在運行 maven 測試時如何使 spring 從主資源目錄加載配置文件嗎?

因此,我在問題中解釋的 spring 的行為絕對不能改變,以允許我想做的事情。 出於可以理解的原因,我做了很多挖掘,結果證明它按預期工作

在這種特定情況下,這成為一個問題的方式是,默認情況下,主應用程序(我們在這里嘗試測試的應用程序)由 maven 生命周期的前幾個階段創建的打包 JAR 加載。

我們需要的是通過target/classes目錄加載應用程序,這是通過在failsafe插件配置的<configuration>元素中添加以下行來完成的: <classesDirectory>${project.build.outputDirectory}</classesDirectory>

這樣, classpath:application.yml就可以毫無問題地從src/main/resources目錄中解析出application.yml

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM