ApplicationContext는 사용된 구성 매개변수의 조합으로 고유하게 식별됩니다.

구성 매개변수의 조합이 컨텍스트를 캐싱하는 키를 생성하는데에 사용되고 Spring TestContext 프레임워크는 ApllicationContext를 정적 캐시에 저장합니다.

즉, 컨텍스트가 정적 변수에 저장되며 다른 테스트에서 정적 캐시에 저장된 컨텍스트를 활용할 수 있는 경우 재사용합니다.

Context Caching :: Spring Framework

현재 서비스 테스트, 컨트롤러 테스트들은 각각 컨텍스트를 구성하는 파라미터가 달라 캐싱의 장점을 누리지 못하고 여러번 Applicaiton Context를 구성합니다.

환경을 최적화하여 캐싱된 컨텍스트를 사용할 수 있도록 하여 테스트 성능을 개선해보겠습니다.

현재 테스트에서 사용되고 있는 Application Context 개수

10개

테스트 실행 시간

39sec 799ms

image.png

개선 이후 Application Context 개수

4개

테스트 실행 시간

image.png