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: Kotest에서 Spring Bean 생성자 주입을 받을 때 테스트 컨테이너가 실행되지 않는 문제를 수정한다. #82

Closed
seokjin8678 opened this issue Jan 7, 2024 · 0 comments · Fixed by #83
Assignees
Labels
🐛 버그 버그에 관한 작업 🧪 테스트 테스트에 관한 작업

Comments

@seokjin8678
Copy link
Contributor

이슈 내용

다음과 같이 IntegrationSpec를 상속받은 테스트는 테스트 컨테이너가 실행되고 테스트가 수행됩니다.

class GalaxyhubApplicationTests : IntegrationSpec({
    describe("contextLoads") {

    }
})

하지만 Bean을 사용하기 위해 생성자 주입을 받으면 테스트 컨테이너가 실행되지 않고, 바로 테스트가 실행됩니다..!

class GalaxyhubApplicationTests(
    private val objectMapper: ObjectMapper
) : IntegrationSpec({
    describe("contextLoads") {

    }
})

원인은 Kotest의 생명 주기 때문인 것 같은데, 테스트 컨테이너가 실행되는 시점(인스턴스 생성)보다 스프링 빈을 주입 받기 위해 Application Context가 먼저 실행되어서 그런 것 같습니다..!

지금은 문제가 없지만, 추후 통합 테스트를 작성한다면 문제가 발생할 것 같네요!!!

@seokjin8678 seokjin8678 added 🐛 버그 버그에 관한 작업 🏢 인프라 인프라에 관한 작업 🧪 테스트 테스트에 관한 작업 labels Jan 7, 2024
@seokjin8678 seokjin8678 self-assigned this Jan 7, 2024
@seokjin8678 seokjin8678 removed the 🏢 인프라 인프라에 관한 작업 label Jan 7, 2024
@seokjin8678 seokjin8678 linked a pull request Jan 9, 2024 that will close this issue
@Laeng Laeng closed this as completed in #83 Jan 9, 2024
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 a pull request may close this issue.

1 participant