컬
컬리
March 15, 20231회
TestContainers로 유저시나리오와 비슷한 통합테스트 만들어 보기

간단 소개
Testcontainers를 활용하여 실제 유저 시나리오와 유사한 통합 테스트를 구축하고 지속적인 통합 환경을 구현하는 방법을 소개합니다.
AI Summary
- 배포 안정성을 위한 통합 테스트의 중요성
- 빠른 배포와 안정성을 위해 자동화된 테스트가 필요하며, 기존 통합 테스트는 서버 간 제약 조건 차이로 인한 버그를 찾기 어려움.
- Testcontainers를 사용하여 실제 QA와 유사한 통합 테스트를 구현하여 문제점을 조기에 발견하고 서버 간 통합된 시나리오 테스트 가능.
- Testcontainers 소개 및 활용
- Testcontainers는 도커 컨테이너를 코드로 실행하여 테스트 환경을 구축하는 Java 라이브러리이며, 이를 통해 일관된 테스트 결과 보장.
- Testcontainers를 사용하여 이벤트 브로커(Kafka), 이벤트 수집 서버, 주문 저장 DB(PostgreSQL), 주문 조회 서버를 컨테이너로 실행하고, 내부 네트워크를 통해 연결하여 통합 테스트 환경 구성.
- 실제 통합 테스트 구현 및 지속적 통합
- Testcontainers 환경에서 실제 메시지를 발행하고 API를 호출하여 주문이 정상적으로 조회되는지 확인하는 통합 테스트 구현.
- Git Actions를 사용하여 배포 이미지 생성 후 자동으로 통합 테스트를 실행하도록 구성하여 지속적인 통합 테스트 환경 구축.
Next Feeds

페타바이트 트래픽 원인 분석기
EKS 환경에서 CloudWatch Container Insights를 사용 중 페타바이트 단위의 비정상적인 트래픽을 발견, 원인 분석 결과 uint64 언더플로우 문제임을 확인하고 해결함.
CloudWatchEKScAdvisoruint64언더플로우
2023. 3. 15.
플라네타리움
카카오페이 크루들의 회의를 책임지는 죠르디 봇을 소개합니다.
카카오페이 크루들을 위한 슬랙봇, 죠르디 회의봇을 소개합니다. 회의 알림, 지각자 호출, 회의 문화 개선 등 다양한 기능을 제공합니다.
카카오페이슬랙봇회의봇죠르디자동화
2023. 3. 14.
카카오페이

병원 상세 웹뷰 통신 및 크로스 브라우징
똑닥 앱의 하이브리드 구조에서 웹뷰와 네이티브 앱 간의 통신 방식, 개발 시 고려사항, 그리고 개선 방향을 분석합니다.
웹뷰하이브리드앱크로스 브라우징JavaScript InterfaceBroadcast Channel API
2023. 3. 13.
비브로스
Webview에서 핀치 줌(pinch zoom) 구현하기
Webview 환경에서 핀치 줌을 구현하는 방법과, 터치 이벤트 처리, UX 개선을 위한 팁을 제공합니다.
Webview핀치 줌TouchEvent모바일 웹제스처
2023. 3. 10.
카카오엔터테인먼트FE
Webview에서 핀치 줌(pinch zoom) 구현하기
Webview 환경에서 핀치 줌을 구현하는 방법과 터치 이벤트 처리, UX 개선에 대해 설명합니다.
webview핀치 줌touchEvent모바일 웹제스처
2023. 3. 10.
카카오엔터테인먼트FE
Jackson Deserializer 코드 분석해보기
Jackson Deserializer 분석을 통해 입력 데이터의 공백 문자 제거 방법을 알아보고, Custom Deserializer 적용을 권장합니다.
JacksonDeserializer공백 제거QueryParamRequestBody
2023. 3. 9.
카카오페이