← 질문 목록
#412깊이 0

테스트 컨텍스트가 재사용되지 않고 매번 새로 뜨는 이유는 무엇인가?

프레임워크

답변 연습

내 답변 적어보기접힘
이 브라우저에 자동 저장 · 0자
모범답안 확인하기내 답변 뒤에 열어보세요

테스트 클래스마다 선언한 설정이나 빈 구성이 서로 다르기 때문이다.

스프링은 동일한 설정을 가진 테스트들의 컨텍스트를 캐싱하여 재사용한다. 특정 테스트에서 @MockBean을 쓰거나 프로파일을 변경하면 설정이 달라져 캐시를 쓰지 못한다.

  • 테스트 A

    • 캐시 등록

      공통 설정 사용

  • 테스트 B

    • 캐시 히트

      동일한 설정 재사용

  • 테스트 C

    • 캐시 미스

      모킹 빈 추가로 설정 변경

컨텍스트가 새로 뜰 때마다 스프링 부트 구동과 데이터소스 초기화가 반복된다. 테스트 클래스가 많을수록 대기 시간은 누적되어 전체 실행이 느려진다.

설정 오염을 막으려면 환경 설정을 통일해야 한다. 공통 설정을 담은 부모 클래스를 만들어 상속받는 구조가 유용하다.

추천 꼬리질문

0/300

적은 내용은 AI 학습에 쓰일 수 있습니다. 이름이나 연락처는 넣지 말아 주세요.

관련 질문

테스트 컨텍스트가 재사용되지 않고 매번 새로 뜨는 이유는 무엇인가?