Escribir pruebas unitarias con pytest
En este ejercicio, vas a practicar cómo escribir una prueba unitaria para validar un pipeline de datos. Usarás assert y otras herramientas para crear las pruebas y comprobar si el pipeline se comporta como debería.
Las funciones extract() y transform() ya están disponibles para ti, junto con pandas, importado como pd. Probarás 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
ETL y ELT en Python
Instrucciones del ejercicio
- Importa la librería
pytest. - Verifica con
assertque el valor almacenado en la variableclean_tax_dataes una instancia depd.DataFrame. - Comprueba que el número de columnas del DataFrame
clean_tax_dataes mayor que el número de columnas del DataFrameraw_tax_data.
ejercicio interactivo práctico
Prueba este ejercicio completando este código de ejemplo.
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)