ComenzarEmpieza gratis

Escribir pruebas unitarias con pytest

En este ejercicio, practicarás la escritura de una prueba unitaria para validar una canalización de datos. Utilizarás assert y otras herramientas para construir las pruebas y determinar si la canalización de datos funciona como debería.

Las funciones extract() y transform() se han puesto a tu disposición, junto con pandas, que se ha importado como pd. Vas a probar la función transform(), que se muestra a continuación.

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

Este ejercicio forma parte del curso

Introducción a las canalizaciones de datos

Ver curso

Instrucciones de ejercicio

  • Importa la biblioteca pytest.
  • Afirma que el valor almacenado en las variables clean_tax_data es una instancia de pd.DataFrame.
  • Valida que el número de columnas del Marco de Datos clean_tax_data es mayor que las columnas almacenadas en el Marco de Datos raw_tax_data.

Ejercicio interactivo práctico

Pruebe este ejercicio completando este código de muestra.

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)
Editar y ejecutar código