0
우리는 applicationContext.xml을 생성 한 고전적인 Maven, Spring (3.1.1) 애플리케이션을 가지고있다.속성 자리 표시자를 누적하는 방법은 무엇입니까?
이 파일에서 우리는 클래스 파일에 외부 파일과 파일이있는 속성 자리 표시자를 선언했습니다. 여기에 다른 질문에서 발견 된 예가 있습니다.
<context:property-placeholder location="file:${ADMIN_HOME}/db.properties,classpath:configuration.properties"
ignore-unresolvable="false" ignore-resource-not-found="false" />
작동 중입니다.
하지만 지금은 JUnit 테스트를위한 특정 설정 파일이 있습니다. 이 구성 파일에서 첫 번째 파일을 가져 와서 기본 선언이있는 테스트 용 속성 자리 표시자를 추가했습니다.
<import resource="applicationContext.xml" />
<context:property-placeholder location="classpath:configuration-test.properties"
ignore-unresolvable="false" ignore-resource-not-found="false" />
JUnit 테스트에서 configuration-test.properties의 값을 삽입했습니다.
@Value("${junit.user.login}")
private String login;
하지만 JUnit을 실행하면 오류가 발생합니다. "junit.user.login"키가 해결되지 않았습니다.
이유를 알 수 없습니다. 아이디어가 있으십니까?
감사합니다.
예. @RunWith (SpringJUnit4ClassRunner.class) @ContextConfiguration ("/ applicationContext-test.xml") public class DocumentServiceTest {} – MychaL
주 구성 파일에 외부 파일을 추가하기 전에 문제가 없었습니다. 이 새로운 기능이 생길 때까지 모든 테스트가 진행되었습니다. 회귀를 만드는 "file : $ {ADMIN_HOME} /db.properties"를 추가하는 것이 사실입니다. – MychaL
그런 경우 문제는 테스트를 실행할 때 봄에 알려지지 않은 $ {ADMIN_HOME}이 있다고 생각합니다. 추가로 테스트를 실행하려고 시도 할 수도 있습니다. -DADMIN_HOME = –
Nadir