나에게 이상하게 보입니다. 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;
}
}