35분
단위 테스트: pytest로 시작하기
Day 5: 테스트와 발표
단위 테스트: pytest로 시작하기
Phase 1 캡스톤: E2E 데이터 파이프라인 > Day 5: 테스트와 발표
학습 목표
pytest로 테스트를 작성할 수 있다 fixture를 사용하여 테스트 데이터를 관리할 수 있다 mock을 사용하여 외부 의존성을 격리할 수 있다
미션: Extractor 단위 테스트
PostgreSQLExtractor의 단위 테스트를 작성하세요.
요구사항
-
테스트 케이스
- 정상 추출 테스트
- 필수 컬럼 누락 시 ValidationError
- 중복 PK 검출 테스트
-
Fixture 사용
- 테스트용 DataFrame 생성
- Mock DB 연결
-
Mock 사용
- psycopg2.connect 모킹
- pd.read_sql 모킹
에디터 로딩 중...
힌트 보기
- • @pytest.fixture로 테스트 데이터를 재사용할 수 있다
- • patch.object()로 특정 인스턴스의 메서드를 모킹한다
- • tempfile.TemporaryDirectory()로 임시 폴더를 생성하고 자동 정리
- • pytest.raises(Exception)로 예외 발생을 테스트한다
정답 보기
에디터 로딩 중...