JUnit에서 spring-test를 사용하여 테스트 메소드과 관련된 등록 정보 파일을 읽는 가장 좋은 방법은 무엇입니까? 다음 빈은 예시 메소드 레벨을 검색 할 의도, 다음 클래스 수준은 다음 패키지 레벨은 다음 루트 수준의 속성 파일 :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
는 "방법 특정 파일을 찾을 수 있도록하려면"? 스프링'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'는 테스트 메소드 이름입니다. –