pytest로 단위 테스트 작성하기
이 연습 문제에서는 데이터 파이프라인을 검증하는 단위 테스트를 직접 작성해 보겠습니다. assert와 기타 도구를 사용해 테스트를 만들고, 데이터 파이프라인이 의도대로 동작하는지 판단하세요.
pandas는 pd로 임포트되어 있고, 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_dataDataFrame의 열 개수가raw_tax_dataDataFrame에 저장된 열보다 큰지 검증하세요.
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
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)