-
Notifications
You must be signed in to change notification settings - Fork 1
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
refactor: 테스트 컨테이너 적용 #138
Conversation
TestContainers라는 기술을 처음 접했는데, 테스트 환경의 일관성을 보장하고 Redis와 같은 외부 시스템을 포함한 테스트를 안정적으로 수행할 수 있는 좋은 선택지라고 생각됩니다.
생각보다 실행 시간이 꽤 많이 늘어났지만, 테스트 환경의 일관성을 보장한다는 좋은 장점을 포기하기는 아쉽다고 생각합니다. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
- 저는 25초 -> 75초로 3배정도 늘었습니다.
다만 이를 감안할정도로 좋은 방법이라 생각합니다. CI를 하기도 훨씬 편해지니 만큼 로컬에서 테스트를 까먹거나 느려서 시도하지 못한다 해도 PR시에 자동으로 테스트시켜도 될 것 같고요!
그리고 혹시 저는 testImplementation 'com.redis:testcontainers-redis'
에서 버전 미지정시 오류가 나는데 저만 그럴까요...?🥲
@wibaek |
9d79ce9
to
d65ac51
Compare
- 어노테이션으로 테스트 컨테이너를 사용할 수 있도록
d65ac51
to
7bbd3cd
Compare
관련 이슈
작업 내용
테스트 컨테이너를 적용했습니다.
도입 배경 / 적용 방법은 위키에 정리해두었습니다.
https://github.com/solid-connection/solid-connect-server/wiki/TestContainers-도입기
특이 사항
테스트 실행 시간이 제 컴퓨터 기준 13s → 25s 로 늘어났습니다 🐢
하지만 위 위키에서 정리한 4가지 장점이, 테스트 실행 시간 증가로 인한 단점보다 더 크다고 생각합니다.
이에 대한 다른 분들의 생각을 듣고 싶습니다.
리뷰 요구사항 (선택)
1/
❗️이 브랜치 pull 받아서, 본인 컴퓨터에서는 테스트 시간 얼마나 늘어났는지 알려주세요❗️
다른 분들이 불편할만큼 테스트 시간이 늘어난거라면 도입을 재고해봐야 할 것 같습니다😞
2/
그리고 '데이터베이스 연결 및 테이블 존재 여부 테스트'랑 '레디스 연결 및 작동 테스트'는
전체 테스트에 포함시키지 않도록 Disabled 어노테이션 달아줬습니다.
연결에 문제가 있다고 생각되시는 분들만 Disabled 해제하셔서 테스트하는게 좋을 것 다 생각했습니다.
괜찮나요?
3/
application-db.yml 에도 변경사항 생겨서 PR 만들어두었어요. https://github.com/solid-connection/solid-connect-secret/pull/3
이 코드 내용에 대해서 다 approve 하시면
secret에 올려둔 PR머지 → 이 PR에 서브모듈 HEAD 업데이터 커밋 추가 → 머지
하겠습니다.