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
Pokyny k cvičení
- Importuj knihovnu
pytest. - Ověř pomocí
assert, že hodnota uložená v proměnnéclean_tax_dataje instancípd.DataFrame. - Zkontroluj, že počet sloupců v DataFrame
clean_tax_dataje větší než počet sloupců uložených v DataFrameraw_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)