Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix: Testcontainers 사용 시 버그 수정 (#82) #83

Merged
merged 5 commits into from
Jan 9, 2024
Merged

fix: Testcontainers 사용 시 버그 수정 (#82) #83

merged 5 commits into from
Jan 9, 2024

Conversation

seokjin8678
Copy link
Contributor

관련 이슈

PR 세부 내용

#82 이슈에서 Spring Bean 생성자 주입을 받을 때 문제가 생긴다고 했지만, 통합 테스트를 여러 개 만들어도 문제가 생깁니다.

IntegrationSpec을 상속했을 때 DockerComposeContainerExtension 인스턴스가 상속 받은 클래스 만큼 생성되는데, 이때 중복적으로 컨테이너 실행되므로, 컨테이너 간 충돌이 발생하여 테스트가 실패합니다.

따라서 82번 이슈와 함께 해결하기 위해 ProjectExtension을 상속한 Extension을 만들었고, @Autoscan 어노테이션으로 모든 테스트마다 Extension이 등록되도록 하였습니다.

해당 Extension은 실행된 테스트 클래스(Spec) 중 @EnableTestcontianers 어노테이션이 붙어있는 테스트가 발견되면 컨테이너를 실행하고, 없으면 실행하지 않도록 하여, 테스트 컨테이너가 필요 없는 테스트에서 테스트 컨테이너를 실행하느라 시간이 소요되는 것을 막았습니다.

따라서 통합 테스트가 필요한 경우 IntegrationSpec을 상속하여 사용하면 되고, 통합 테스트는 아니지만 DB 의존이 필요한 테스트는 @EnableTestcontianers 어노테이션을 붙여서 사용하면 됩니다.

Copy link

github-actions bot commented Jan 9, 2024

Test Results

21 files  21 suites   4s ⏱️
71 tests 71 ✅ 0 💤 0 ❌
94 runs  94 ✅ 0 💤 0 ❌

Results for commit dd29228.

♻️ This comment has been updated with latest results.

Copy link
Member

@Laeng Laeng left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

고생많으셨습니다!!!!

@Laeng Laeng merged commit 1b00e0f into dev Jan 9, 2024
3 checks passed
@Laeng Laeng deleted the feat/#82 branch January 9, 2024 20:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
🧪 테스트 테스트에 관한 작업 🛠 수정 수정에 관한 작업
Projects
None yet
2 participants