我使用Spring 2.5.6並使用Maven 2.2.1構建項目。我們在Spring中使用PropertyPlaceholderConfigurer
bean來加載用於配置數據庫之類的屬性。相當標準的東西。我們也有兩套不同的測試:單元測試和集成測試。Spring + Maven:單元測試和集成測試的單獨屬性文件
我希望能夠使用不同的屬性文件來爲兩種不同類型的測試配置不同的數據庫url。例如,我想單元測試使用localhost
數據庫和集成測試來使用mydatabase.example.com
數據庫。
我已經嘗試了幾個變化,我將屬性文件放在單獨的子目錄中(一個用於單元測試,另一個用於集成測試)。從那裏開始,我嘗試了使用additionalClasspathElements
標籤作爲maven-failsafe-plugin
,但這似乎並不奏效。我嘗試使用maven-antrun-plugin
將文件複製到target/classes
,但是當我運行mvn verify -Dtest=sometest
時沒有觸發。
<property name="locations">
<value>classpath:${buildEnvironment}/my-test.properties</value>
</property>
但以春拒絕解決${buildEnvironment}
:
我也Maven中使用systemPropertyVariables
設置一個名爲buildEnvironment
屬性,然後我試圖在我的Spring bean定義引用嘗試。在這一點上,我沒有想法。我確信有一個很好的,直接的方法來做到這一點,但我無法弄清楚。
任何意見將不勝感激。
你見過這個相關的問題與不同的答案http://stackoverflow.com/questions/3076466/maven-using-different-spring-properties-for-integration-tests – JoseK 2010-07-07 08:40:42
我也無法得到PropertyPlaceholderConfigurer看到與additionalClasspathElements一起添加的資源。有沒有人有任何想法,爲什麼這不起作用? – Lyle 2012-10-31 16:02:46