CommencerCommencer gratuitement

Écrire des tests unitaires avec pytest

Dans cet exercice, vous vous entraînerez à écrire un test unitaire pour valider un pipeline de données. Vous utiliserez assert et d'autres outils pour élaborer les tests et déterminer si le pipeline de données fonctionne comme il se doit.

Les fonctions extract() et transform() ont été mises à votre disposition, ainsi que pandas, qui a été importé en tant que pd. Vous allez tester la fonction transform(), qui est illustrée ci-dessous.

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

Cet exercice fait partie du cours

ETL et ELT en Python

Afficher le cours

Instructions

  • Importez la bibliothèque pytest.
  • Affirmez que la valeur stockée dans les variables clean_tax_data est une instance de pd.DataFrame.
  • Validez que le nombre de colonnes dans le DataFrame clean_tax_data est supérieur aux colonnes stockées dans le DataFrame raw_tax_data.

Exercice interactif pratique

Essayez cet exercice en complétant cet exemple de code.

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)
Modifier et exécuter le code