Skip to content

Conversation

@Dimo-2562
Copy link
Contributor

❤️ 기능 설명

테스트 환경 개선을 위해 Testcontainers 설정을 Spring Bean 방식으로 리팩토링하고, 의존성을 최신화했습니다.

주요 변경사항

  1. Testcontainers Bean 설정 클래스 생성

    • MySQLTestConfig: MySQL 테스트 컨테이너 Bean 설정
    • ElasticsearchTestConfig: Elasticsearch 테스트 컨테이너 Bean 설정 (신규 추가)
    • RedisTestConfig: Redis 테스트 컨테이너 Bean 설정 (신규 추가)
  2. 의존성 버전 업그레이드

    • testcontainers:mysql: 1.19.3 → 1.21.4
    • testcontainers:junit-jupiter: 1.19.3 → 1.21.4
    • testcontainers:elasticsearch: 1.21.4 (신규 추가)
    • com.redis:testcontainers-redis: 2.2.4 (신규 추가)
  3. 통합 테스트 리팩토링

    • PostControllerIntegrationTest에서 @Import(MySQLTestConfig.class) 방식으로 변경
    • @Testcontainers, @Container 어노테이션 제거
    • Spring Bean 기반의 재사용 가능한 테스트 설정으로 개선

개선 효과

  • 테스트 컨테이너 설정을 여러 테스트에서 재사용 가능
  • 통합 테스트 환경에서 MySQL, Elasticsearch, Redis 모두 사용 가능
  • Spring Boot의 @ServiceConnection을 통한 자동 설정 활용

연결된 issue

연결된 issue를 자동으로 닫기 위해 아래 {이슈넘버}를 입력해주세요.

close #125



🩷 Approve 하기 전 확인해주세요!

  • 테스트 컨테이너 띄울 때 Import(클래스명)으로 붙이면 됩니다.
  • 여러 개(Ex. MySQL + Redis) 를 띄워야할경우 Import({클래스명, 클래스명})으로 붙이면 됩니다.

✅ 체크리스트

  • PR 제목 규칙 잘 지켰는가?
  • 추가/수정사항을 설명하였는가?
  • 테스트 결과 사진을 넣었는가?
  • 이슈넘버를 적었는가?

@Dimo-2562 Dimo-2562 requested a review from Joon9750 December 30, 2025 10:46
@Dimo-2562 Dimo-2562 self-assigned this Dec 30, 2025
@Dimo-2562 Dimo-2562 added the 🎵 CHORE 잡일 label Dec 30, 2025
@Dimo-2562 Dimo-2562 merged commit 82c2870 into develop Dec 30, 2025
1 check passed
@Dimo-2562 Dimo-2562 deleted the chore/#125 branch December 30, 2025 10:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[CHORE] 테스트 컨테이너 관리를 TestContainers 대신 Spring Bean으로 변경

2 participants