2012-02-21 3 views
0

나는 흥미로운 문제가있다. spring-conf.xml 파일에 정의 된 두 개의 웹 서비스가 있고 같은 패키지에 두 개의 테스트 클래스가있다. 모든 클래스는이 spring-conf.xml 파일에 대한 링크를 통해 특정 웹 서비스를 호출합니다. 테스트 클래스 중 하나에서 콩을 가져올 수 있지만 다른 클래스에서 콩을 가져올 수 있으며 두 클래스 모두에서 코드가 동일합니다. 하나에서테스트에서 나는 다른 XML을 찾을 수 없다.

나는 내 프로그램이 스프링의 conf 파일을 찾을 수 없습니다 두 번째에서이

import org.springframework.context.ApplicationContext; 
import org.springframework.context.support.ClassPathXmlApplicationContext; 

public class WSSecondTest { 

private ApplicationContext context2 = new ClassPathXmlApplicationContext(
     "WEB-INF/spring-conf.xml"); 
private WSSecond ws = (WSSecond) context2 
     .getBean("serviceSecondDefault"); 

을 가지고 있지만 다른에 다른 하나이

import org.springframework.context.ApplicationContext; 
import org.springframework.context.support.ClassPathXmlApplicationContext; 

public class WSFirstTest { 

private ApplicationContext context = new ClassPathXmlApplicationContext(
     "WEB-INF/spring-conf.xml"); 
private WSFirst ws = (WSFirst) context 
     .getBean("serviceFirstDefault"); 

이 하나는 가능합니다. 무엇이 문제입니까?

PS 리모컨에서 호출 할 때 두 가지 wservices가 제대로 작동합니다. 로컬에서만이 문제가 발생합니다.

테스트의 오류 :

org.springframework.beans.factory.BeanDefinitionStoreException: IOException parsing XML document from class path resource [WEB-INF/spring-conf.xml]; nested exception is java.io.FileNotFoundException: class path resource [WEB-INF/spring-conf.xml] cannot be opened because it does not exist 

당신이 조언에 감사드립니다.

+0

이러한 JUnit 테스트가 병렬로 실행됩니까? – home

+0

예. 나는 하나 하나씩 junit과 함께 그들을 실행, –

답변

1

나는 봄이 시작하지 않고 응용 프로그램 컨텍스트 경로를 해석 아시다시피 "/"테스트 클래스를 정의하고 시작과 함께하는 Pathes "/"로 정규화 된 클래스 경로 위치되는 동일한 패키지에서 상대 경로로 (적어도 testing environment에서). 어쩌면 시작 "/"을 사용해야합니다.

다른 테스트 실행 구성으로 인해 문제가 발생했습니다 (아래 주석 참조).

+0

당신의 대답에 감사드립니다. comportaments가 다르며 실행 테스트에 따라 경로가 동일하고 두 클래스가 모두 같은 패키지에 있지만 파일을 찾을 수 있고 다른 하나는 찾을 수 없기 때문에 이것은 중요하지 않습니다. 왜냐하면 그것들은 경로가 동일해야한다고 말한 것과 같은 위치에 있기 때문입니다. 어쨌든 당신이 말한 것을 시도했지만 작동하지 않았습니다 –

+1

@Tommaso Bicego 테스트를 어떻게 실행합니까? 어쩌면 실행 구성 (클래스 경로 등)에 차이가있을 수 있습니다. – FrVaBe

+0

당신은 천재입니다. 잠시 전에 실행 구성에서 보았고 첫 번째 구성에는 WebContent 폴더가 있고 다른 폴더에는 없었습니다. 다른 실행 구성에 추가하면 이제는 완벽하게 작동합니다. 고맙습니다! –

관련 문제