💥 문제 상황
<aside>
💡
다음 항목을 포함할 수 있습니다.
- 의도 “무엇을 하기 위해”
- 시도 “무엇을 하던 중”
- 결과 “어떤 오류가 발생함.”
</aside>
상황
공통 관리의 필요성
테스트를 만들 때마다 다음 항목을 의식적으로 추가하는 것이 비효율적이라고 생각하여 논의가 시작되었습니다.
- 반복적으로 등장하는 애노테이션
- 일부 설정 함수를 위한 오버라이딩(e.g.
extensions
)
- 스캔할 Config 목록
따라서 다음과 같은 전략을 고민하였습니다.
- ✅ 테스트 시 사용할 공통 설정을 만듭니다.
- ❌ 테스트에 따라 설정이 다를 수 있습니다. 공통 설정의 사용 여부를 선택할 전략이 미리 필요했습니다.
예시: 테스트 의존성에 따른 설정 차이
예를 들어 다음과 같은 고민이 있었습니다.
- JPA를 사용한 테스트에서는 JPA와 관련한 일부 설정이 공통적이므로 공통으로 관리하고 싶습니다.