시작하기무료로 시작하기

pytest로 단위 테스트 작성하기

이번 연습 문제에서는 데이터 파이프라인을 검증하는 단위 테스트를 작성해 봅니다. assert와 여러 도구를 사용해 테스트를 만들고, 데이터 파이프라인이 제대로 동작하는지 확인해 보세요.

extract() 함수와 transform() 함수는 이미 준비되어 있으며, pandas도 pd라는 이름으로 임포트되어 있습니다. 여러분은 아래에 나와 있는 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 데이터프레임의 열 개수가 raw_tax_data 데이터프레임의 열 개수보다 많은지 검증하세요.

실습형 인터랙티브 연습

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

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)
코드 편집 및 실행