2013-09-05 2 views
0

.I는 src/main/webapp/WEB-INF에서 봄-config.xml 파일 및 src/test/resources의 applicationContext.xml 파일이 프로젝트가있다.봄 메이븐 유닛 테스트의 ApplicationContext 로딩 잘못된 파일

@ContextConfiguration(locations = {"classpath:/applicationContext.xml"}) 
public abstract class AbstractTestBase extends AbstractTransactionalJUnit4SpringContextTests { 
    //Common code and fields 
} 

내 모든 단위 테스트 된 환경에 src/test/resources 또는해야 포인트이 AbstractTestBase를 확장 : 나는 또한 src/test/java 내 단위 테스트에 대한 추상 시험 기본 클래스가 같이 보입니다있다. 문제는 내 단위 테스트를 실행할 때 spring-config.xml 파일을 가져올 때 발생합니다.

우리 팀이 작업하고있는 다른 프로젝트들도 동일한 파일 구조, 동일한 응용 프로그램 컨텍스트 설정 및 의도 한대로 실행되지만, 프로젝트의 각 파일을 나란히 놓고 볼 때도 볼 수 없습니다. 파일이 실행되고이 파일은 실행되지 않습니다.

은 그래서 나는 그것이 내가 찾고되어야 무엇인지 모르는 봄에 새로운 오전.

는 거기에 봄 또는 메이븐이 응용 프로그램 컨텍스트를받지 않을 것 어떤 상황이 나는 모든 파일이 존재 주어진 전달 해요? 제가 누락 된 것이 있습니까?

EDIT : 하나의 파일이 스프링 구성 파일임을 반영하여 수정되었습니다.

+0

Maven은'src/test/resources'에서 리소스 파일을 찾아야합니다. 웹 응용 프로그램이 아니기 때문에'src/main/webapp/WEB-INF'로 절대 들어가서는 안되며 그 위치에 대해서도 알지 못합니다. 해당 폴더에서 삭제 (이동)하면 어떻게됩니까? –

+1

classpath에 여러 개의'applicationContext.xml' 파일이 없습니까? 이 구문을 사용하면 발견 한 첫 번째 문을로드 한 다음 중단하고 항아리 순서를 항상 예측할 수있는 것은 아닙니다. – chrylis

+0

@SotiriosDelimanolis 이것은 실제로 웹 어플리케이션처럼 보이며, Spring 환경 설정을'src/main/webapp/WEB-INF'에 넣는 것이 일반적입니다. – chrylis

답변

1

"classpath:/applicationContext.xml"src/test/resources 아래에 보일 것입니다. 그러나이 구문을 사용하면 발견 된 첫 번째 구문을로드 한 다음 '@chrylis'에서 설명한 것처럼 중지하게됩니다.

한때 비슷한 문제가있었습니다.

당신은 IDE를 사용하고 있어야합니다. 프로젝트 디렉토리의 target/test-classes/ (in Eclipse IDE)applicationContext.xml 파일이 있었어야합니다.이 파일은 xml 파일의 복사본 인 src/main/webapp/WEB-INF 또는 xml 파일입니다.

+0

'src/test/resources'에'applicationContext.xml' 파일 이름의 파일이 하나 뿐이며'spring-config.xml' 아래에있는 spring config 파일과 같은 이름의 파일이 있습니다. target/test-classes /'폴더에 있습니다. 1) 파일의 이름은'applicationContext.xml'이 아닙니다. 2) 대신 applicationContext.xml을로드하기 위해 어떻게 변경합니까? – sparks

+0

확실하지는 않지만 모든 'test-classes /'를 삭제하고 테스트를 다시 실행 해 보겠습니다. 그냥 노력하고있어.또한, 내가 너라면 다른 것을 놓치고 있는지 다시 확인해 볼 것이다. – TheKojuEffect

+0

테스트 클래스 안에있는 모든 것을 분명히 버리는 것/작동하는 것처럼 보입니다. 나는이 문제를 다른 관련없는 것들로 옮길 수 있었지만 아직 문제가되지는 않았다. – sparks