35

단위 테스트: pytest로 시작하기

Day 5: 테스트와 발표

학습 목표

pytest로 테스트를 작성할 수 있다 fixture를 사용하여 테스트 데이터를 관리할 수 있다 mock을 사용하여 외부 의존성을 격리할 수 있다

미션: Extractor 단위 테스트

PostgreSQLExtractor의 단위 테스트를 작성하세요.

요구사항

  1. 테스트 케이스

    • 정상 추출 테스트
    • 필수 컬럼 누락 시 ValidationError
    • 중복 PK 검출 테스트
  2. Fixture 사용

    • 테스트용 DataFrame 생성
    • Mock DB 연결
  3. Mock 사용

    • psycopg2.connect 모킹
    • pd.read_sql 모킹
에디터 로딩 중...
힌트 보기
  • @pytest.fixture로 테스트 데이터를 재사용할 수 있다
  • patch.object()로 특정 인스턴스의 메서드를 모킹한다
  • tempfile.TemporaryDirectory()로 임시 폴더를 생성하고 자동 정리
  • pytest.raises(Exception)로 예외 발생을 테스트한다
정답 보기
에디터 로딩 중...