PySpark 라이브러리, MinIO로 테스트 자동화!
by DD
5년 전
조회수 8
PySpark 기반 데이터 분석 라이브러리 테스트를 위해 MinIO를 활용한 로컬 테스트 환경 구축
pytest의 fixture를 사용하여 S3 의존성 제거 및 테스트 격리 환경 구성
doctest를 통해 테스트 코드와 레퍼런스 문서를 통합하여 문서화 커버리지 100% 달성
S3 의존성 탈피: MinIO 기반 테스트 환경
기존 S3에 직접 접근하는 방식은 테스트 환경 구축에 어려움이 있었다. MinIO를 활용하여 로컬에서 S3 API를 모킹함으로써, S3 접근 권한 문제를 해결했다. 따라서, CI/CD 파이프라인에서 테스트를 자동화하고, 테스트 실행 속도를 향상시켰다.
pytest fixture를 활용한 테스트 격리
pytest fixture를 사용하여 테스트 간의 데이터 격리를 구현했다. MinIO 서버 fixture를 통해 각 테스트마다 독립적인 S3 환경을 제공한다. 결과적으로, 테스트 간의 상호 간섭을 방지하고, 테스트의 안정성을 확보했다.
doctest를 활용한 문서화 자동화
doctest를 통해 테스트 코드와 레퍼런스 문서를 통합하여 유지보수성을 높였다. docstring에 테스트 코드를 작성하고, Sphinx를 사용하여 레퍼런스 문서를 자동 생성한다. 따라서, 문서 업데이트에 대한 부담을 줄이고, 정확한 API 레퍼런스를 제공한다.