[OpenSource] Testcontainers로 테스트 환경 구축하기
0. 들어가며테스트 환경을 구축할 수 있는 오픈소스 Testcontainers에 대하여 알아보겠습니다. 1. Testcontainers란?Java, go 등 여러 언어에서 사용할 수 있는 Test 환경 구성 오픈소스입니다.프로젝트 유닛, 통합 테스트를 진행할때 DBMS, Kafka, Nginx등의 외부 서비스와는 격리하여 테스트를 작성하는 경우가 많습니다.테스트를 하더라도, test 수행으로 인해 환경이 오염되고 깨지는 문제가 발생할 수 있죠.예를 들어 운영 환경에서, Postgre SQL을 쓰지만 test 환경에서 인메모리 H2 Database를 사용할 수 있는데, 이는 정확한 환경 일치라고 할 수 없습니다. 개발자 입장에서 PostgreSQL의 새롭고 좋은 기능을 발견해도, H2 Database에 구..