문제

Spring Integrations 테스트를 실행하기 위해 AbstractTransactionAlspringContextTests를 사용하고 있습니다. 스프링 컨텍스트는 한 번만로드 된 다음 모든 테스트가 실행됩니다. 내 테스트가 많은 수업과 패키지로되기를 원한다면 어떻게해야합니까?

물론, 스프링 컨텍스트는 모든 테스트 (모든 클래스 및 패키지)에 대해 한 번만로드해야하며 클래스 또는 패키지 당 한 번은 아닙니다.

도움이 되었습니까?

해결책

Javadocs로 AbstractSingleSpringContextTests (슈퍼 클래스 중 하나 AbstractTransactionalSpringContextTests) 상태:

이 클래스는 컨텍스트 키를 기반으로 컨텍스트를 캐시합니다. 일반적으로 컨텍스트를 구성하는 스프링 리소스 설명자를 설명하는 구성 위치 문자열 배열. setDirty () 메소드가 테스트에 의해 호출되지 않는 한,이 테스트의 다른 서브 클래스에서도 컨텍스트가 다시로드되지 않습니다. 예를 들어 최대 절전 모드를 사용하는 경우 컨텍스트를 구축하는 데 속도가 느려지고 매핑을로드하는 데 걸리는 시간이 문제가되는 경우 특히 유익합니다.

컨텍스트가 캐시되어 있으므로 동일한 클래스 로더 내에서 실행되는 다른 모든 테스트 (예 : 동일한 테스트 실행 중에 실행되는 다른 모든 테스트)는 캐시 된 컨텍스트를 사용합니다. 추가 설정을 수행 할 필요는 없습니다. 이미 수행해야합니다. 이에 대해 확실하지 않거나 문제를 해결하려면 org.springframework의 로깅을 켜면 컨텍스트가로드 될 때에 대한 많은 유용한 로깅을 볼 수 있습니다. 등.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top