ComeçarComece gratuitamente

Escrevendo testes de unidade com o pytest

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

As funções extract() e transform() foram disponibilizadas para você, juntamente com pandas, que foi importada como pd. Você testará a função transform(), que é 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 exercício faz parte do curso

ETL e ELT em Python

Ver Curso

Instruções de exercício

  • Importe a biblioteca pytest.
  • Afirme que o valor armazenado nas variáveis clean_tax_data é uma instância de um pd.DataFrame.
  • Valide se o número de colunas no clean_tax_data DataFrame é maior do que as colunas armazenadas no raw_tax_data DataFrame.

Exercício interativo prático

Experimente este exercício preenchendo 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