開始使用免費開始

使用 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 的實例。
  • 驗證 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)
編輯並執行程式碼