我使用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