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
Instrucțiuni pentru exercițiu
- Importă biblioteca
pytest. - Verifică prin
assertcă valoarea stocată în variabilaclean_tax_dataeste o instanță a claseipd.DataFrame. - Validează că numărul de coloane din DataFrame-ul
clean_tax_dataeste mai mare decât numărul de coloane din DataFrame-ulraw_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)