시작하기무료로 시작하기

pytest로 단위 테스트 작성하기

이 연습 문제에서는 데이터 파이프라인을 검증하는 단위 테스트를 직접 작성해 보겠습니다. assert와 기타 도구를 사용해 테스트를 만들고, 데이터 파이프라인이 의도대로 동작하는지 판단하세요.

pandaspd로 임포트되어 있고, extract()transform() 함수가 제공됩니다. 아래에 보이는 transform() 함수를 테스트하게 됩니다.

def transform(raw_data):
    raw_data["average_taxable_income"] = raw_data["total_taxable_income"] / raw_data["number_of_firms"]
    clean_data = raw_data.loc[raw_data["average_taxable_income"] > 100, :]
    clean_data.set_index("industry_name", inplace=True)
    return clean_data

이 연습은 강의의 일부입니다

Python으로 ETL과 ELT

강의 보기

연습 안내

  • pytest 라이브러리를 임포트하세요.
  • clean_tax_data 변수에 저장된 값이 pd.DataFrame의 인스턴스인지 단언(assert)하세요.
  • clean_tax_data DataFrame의 열 개수가 raw_tax_data DataFrame에 저장된 열보다 큰지 검증하세요.

실습형 인터랙티브 연습

이 예제를 이 샘플 코드를 완성하여 풀어보세요.

import ____

def test_transformed_data():
    raw_tax_data = extract("raw_tax_data.csv")
    clean_tax_data = transform(raw_tax_data)
    
    # Assert that the transform function returns a pd.DataFrame
    assert ____(clean_tax_data, pd.DataFrame)
    
    # Assert that the clean_tax_data DataFrame has more columns than the raw_tax_data DataFrame
    ____ len(clean_tax_data.columns) ____ len(raw_tax_data.columns)
코드 편집 및 실행