Uh oh!
There was an error while loading. Please reload this page.
refactor: 테스트 컨테이너 적용 - #138
Conversation
Gyuhyeok99
commented
Dec 30, 2024
TestContainers라는 기술을 처음 접했는데, 테스트 환경의 일관성을 보장하고 Redis와 같은 외부 시스템을 포함한 테스트를 안정적으로 수행할 수 있는 좋은 선택지라고 생각됩니다.
생각보다 실행 시간이 꽤 많이 늘어났지만, 테스트 환경의 일관성을 보장한다는 좋은 장점을 포기하기는 아쉽다고 생각합니다. |
wibaek
left a comment
There was a problem hiding this comment.
- 저는 25초 -> 75초로 3배정도 늘었습니다.
다만 이를 감안할정도로 좋은 방법이라 생각합니다. CI를 하기도 훨씬 편해지니 만큼 로컬에서 테스트를 까먹거나 느려서 시도하지 못한다 해도 PR시에 자동으로 테스트시켜도 될 것 같고요!
그리고 혹시 저는 testImplementation 'com.redis:testcontainers-redis' 에서 버전 미지정시 오류가 나는데 저만 그럴까요...?🥲
nayonsoso
commented
Jan 7, 2025
@wibaek |
9d79ce9 to
d65ac51Compared65ac51 to
7bbd3cdCompare
관련 이슈
작업 내용
테스트 컨테이너를 적용했습니다.
도입 배경 / 적용 방법은 위키에 정리해두었습니다.
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 업데이터 커밋 추가 → 머지
하겠습니다.