使用Spring测试和JUnit读取特定于测试方法的属性文件的最佳方法是什么? 以下bean说明了 intent 来搜索方法级,然后是类级,然后是包级,然后是根级属性文件:
<bean name="properties" class="org.springframework.context.support.PropertySourcesPlaceholderConfigurer" >
<property name="locations">
<list>
<value>classpath:properties.xml</value>
<value>classpath:*/properties.xml</value>
<value>classpath:*/*/properties.xml</value>
<value>classpath:*/*/*.properties.xml</value>
</list>
</property>
</bean>
我考虑过使用/子类化PropertySourcesPlaceholderConfigurer
或SpringMethodRule
,但到目前为止,我还没有找到一个可行的,也不是优雅的解决方案。 spring-test提供了各种有前途的类级别注释,但绊脚石是我希望能够找到特定于方法的文件,例如:
classpath:myPackage/myClass/myMethod.properties.xml
答案 0 :(得分:0)
如果您只是在寻找可以帮助您根据当前方法查找类路径资源的算法,您可以从 Spring TestContext中的ServletTestExecutionListener
中获取灵感。框架,特别是detectDefaultScript()
方法。
此致
Sam (Spring TestContext Framework的作者)