2014-11-07 2 views
0

나에게 이상하게 보입니다. JUnit 테스트는 일식에서 잘 실행됩니다. 하지만 Ant 명령 줄에서 실행하면 오류가 발생합니다. 로드/응용 프로그램 컨텍스트가 아닌 것처럼 보입니다. 다음은 테스트 클래스의 기본 클래스입니다.ApplicationContext는 JUnit 테스트가 Eclipse에서 실행될 때로드되지만, 개미 빌드에서는 실행되지 않습니다.

@ContextConfiguration(locations = { "classpath*:applicationContext.xml"}) 
public abstract class TransactionalTestCase extends StrutsSpringTransactionalTests { 

    @Before 
    public void onSetUp() throws Exception { 
     super.setUp(); 
    } 

    @Override 
    protected void setupBeforeInitDispatcher() throws Exception { 
     servletContext.setAttribute(WebApplicationContext.ROOT_WEB_APPLICATION_CONTEXT_ATTRIBUTE, appContext); 
    } 

나는이 방법 appContext를 인쇄하려고하면 [email protected]20aa71 인쇄 : 시작 날짜 XXXXXXX

를하지만 개미 빌드 명령 줄에서 널 (null) 인쇄합니다.

일식과 개미 모두의 클래스 경로를 비교했습니다. 둘 다 동일합니다. 동일한 파일 및 폴더 집합을 포함합니다.

@ContextConfiguration 개미 빌드에서 실행할 때 적용되지 않습니까?

그 밖의 무엇이 잘못 될 수 있습니까?

StrutsSrpingTransactionalTests 클래스

@RunWith(SpringJUnit4ClassRunner.class) 
@TestExecutionListeners({ 
    TransactionalTestExecutionListener.class, 
    DependencyInjectionTestExecutionListener.class, 
    DirtiesContextTestExecutionListener.class 
}) 
@Transactional 
public abstract class StrutsSpringTransactionalTests extends StrutsTestCase implements ApplicationContextAware { 

    protected ApplicationContext appContext; 

    @Override 
    public void setApplicationContext(ApplicationContext appContext) throws BeansException { 
     this.appContext = appContext; 
    } 
} 

답변

0

문제가 된 JUnit 버전하다는 것을 그것을 알아 냈다. 이클립스는 Junit4를 사용했으며, 개미는 기본적으로 Junit3을 사용했습니다.