のテストメソッドに固有のプロパティファイルを読み込むためにJUnitでspring-testを使用する最良の方法は何ですか? 次Beanが、ルート・レベルのプロパティファイル、メソッドレベル、クラスレベル、パッケージレベルを検索する意図を示していますJUnit + spring-testを使用したメソッドレベルのプロパティの読み込み
<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
を使用して考えられてきました、しかし、これまでのところ、実用的でもエレガントな解決策も私には起こりませんでした。春試験は、有望なクラスレベルの注釈をご用意しておりますが、つまずきは、例えば、私はメソッド固有のファイルを見つけることができるようにしたいということです。
classpath:myPackage/myClass/myMethod.properties.xml
あなたは「メソッド固有のファイルを見つけることができるようにしたい」あなたはどういう意味ですか? Spring 'ApplicationContext'自体はテストメソッドについて何も知らないし、Spring TestContext Frameworkはテストメソッドごとにテスト' ApplicationContext'をロードすることをサポートしていません。だから、あなたはそれらをどのような目的のためにロードする予定ですか? –
私のテストはhttp://www.alexcollins.com/tutorial-junit-ruleのような 'SpringContextRule'を持っています。私のテストには、テストクラスとテストメソッドの名前へのアクセスを提供するhttp://junit.org/junit4/javadoc/4.12/org/junit/rules/TestName.htmlに基づく別のルールがあります。 –
各テストメソッドには、メソッドの後に命名されるプロパティファイルがあります。 'foo.properties.xml'、 'bar.properties.xml'、 'foo'と 'bar'はテストメソッド名です。 –