Comece agoraComece grátis

Escrevendo testes de unidade com pytest

Neste exercício, você vai praticar a escrita de um teste de unidade para validar um pipeline de dados. Você usará assert e outras ferramentas para construir os testes e determinar se o pipeline de dados funciona como deveria.

As funções extract() e transform() foram disponibilizadas para você, junto com o pandas, que foi importado como pd. Você testará a função transform(), mostrada abaixo.

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 exercicio faz parte do curso

ETL e ELT em Python

Ver curso

Instruções do exercicio

  • Importe a biblioteca pytest.
  • Asserte que o valor armazenado na variável clean_tax_data é uma instância de pd.DataFrame.
  • Valide que o número de colunas no DataFrame clean_tax_data é maior do que o número de colunas armazenado no DataFrame raw_tax_data.

exercicio interativo prático

Tente este exercicio completando este código de exemplo.

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 e Executar Código