Začněte nyníZačněte zdarma

Psaní unit testů s pytest

V tomto cvičení si procvičíš psaní unit testu pro ověření datového pipeline. Ke stavbě testů použiješ assert a další nástroje a zjistíš, zda pipeline funguje správně.

Máš k dispozici funkce extract() a transform() a také knihovnu pandas importovanou jako pd. Testovat budeš funkci transform(), která je uvedena níže.

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

Toto cvičení je součástí kurzu

ETL a ELT v Pythonu

Zobrazit kurz

Pokyny k cvičení

  • Importuj knihovnu pytest.
  • Ověř pomocí assert, že hodnota uložená v proměnné clean_tax_data je instancí pd.DataFrame.
  • Zkontroluj, že počet sloupců v DataFrame clean_tax_data je větší než počet sloupců uložených v DataFrame raw_tax_data.

Interaktivní cvičení na vyzkoušení si v praxi

Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.

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)
Upravit a spustit kód