LoslegenKostenlos loslegen

Unit-Tests mit pytest schreiben

In dieser Übung übst du, einen Unit-Test zu schreiben, um eine Datenpipeline zu validieren. Du verwendest assert und andere Tools, um die Tests zu erstellen und festzustellen, ob die Datenpipeline so funktioniert, wie sie sollte.

Die Funktionen extract() und transform() wurden für dich bereitgestellt, ebenso wie pandas, das als pd importiert wurde. Du wirst die Funktion transform() testen, die unten abgebildet ist.

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

Diese Übung ist Teil des Kurses

ETL und ELT in Python

Kurs anzeigen

Anleitung zur Übung

  • Importiere die Bibliothek pytest.
  • Bestätige, dass der in den clean_tax_data Variablen gespeicherte Wert eine Instanz von pd.DataFrame ist.
  • Überprüfe, ob die Anzahl der Spalten im DataFrame clean_tax_data größer ist als die Anzahl der Spalten im DataFrame raw_tax_data.

Interaktive Übung

Versuche dich an dieser Übung, indem du diesen Beispielcode vervollständigst.

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)
Code bearbeiten und ausführen