ÎncepețiÎncepe gratuit

Scrierea testelor unitare cu pytest

În acest exercițiu, vei exersa scrierea unui test unitar pentru a valida un pipeline de date. Vei folosi assert și alte instrumente pentru a construi testele și pentru a verifica dacă pipeline-ul de date funcționează corect.

Funcțiile extract() și transform() sunt deja disponibile, împreună cu pandas, importat ca pd. Vei testa funcția transform(), prezentată mai jos.

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

Acest exercițiu face parte din cursul

ETL și ELT în Python

Vezi cursul

Instrucțiuni pentru exercițiu

  • Importă biblioteca pytest.
  • Verifică prin assert că valoarea stocată în variabila clean_tax_data este o instanță a clasei pd.DataFrame.
  • Validează că numărul de coloane din DataFrame-ul clean_tax_data este mai mare decât numărul de coloane din DataFrame-ul raw_tax_data.

Exercițiu interactiv practic

Încearcă acest exercițiu completând acest cod de exemplu.

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)
Editează și rulează codul