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
Instrucciones de ejercicio
- Importa la biblioteca
pytest
. - Afirma que el valor almacenado en las variables
clean_tax_data
es una instancia depd.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 Datosraw_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)