2009-02-26 4 views
1

스프링 통합 테스트를 실행하기 위해 AbstractTransactionalSpringContextTests를 사용하고 있습니다. 스프링 컨텍스트가 한 번로드 된 후 모든 테스트가 실행됩니다. 테스트를 여러 클래스와 패키지에 적용하려면 어떻게해야합니까?다른 클래스와 패키지에 스프링 통합 테스트하기

당연히 스프링 컨텍스트는 모든 테스트 (모든 클래스와 패키지에서)에 대해 한 번만로드해야하며 클래스 나 패키지 당 한 번로드하면 안됩니다. AbstractSingleSpringContextTests 대한 Javadoc과 (AbstractTransactionalSpringContextTests의 슈퍼 클래스 중 하나)와 같은

답변

1

상태 :

컨텍스트 키에 기초하여 컨텍스트를 캐시 할이 클래스 : 보통 스프링 자원 서술자를 기술하는 설정 위치 문자열 배열 가입하기 문맥. 테스트에서 setDirty() 메서드를 호출하지 않으면이 테스트의 다른 하위 클래스에서도 컨텍스트가 다시로드되지 않습니다. 이것은 컨텍스트가 느린 경우, 예를 들어 Hibernate를 사용하고 매핑을로드하는 데 걸리는 시간이 문제가되는 경우에 특히 유용합니다.

동일한 클래스 로더 내에서 실행되는 다른 모든 테스트 (즉, 동일한 테스트 실행 중에 실행되는 다른 모든 테스트)는 캐시 된 컨텍스트를 사용합니다. 추가 설정을 할 필요가 없습니다. 이미 완료해야합니다. 이것에 대해 확신이 없거나 문제를 해결하고 싶다면 org.springframework에 대한 로깅을 켜기 만하면 컨텍스트가로드 될 때 유용한 로깅, 다양한 파일, 방법 등을 볼 수 있습니다.

관련 문제