Mulai sekarangMulai gratis

Menulis unit test dengan pytest

Dalam latihan ini, Anda akan berlatih menulis unit test untuk memvalidasi sebuah data pipeline. Anda akan menggunakan assert dan alat lainnya untuk membangun pengujian, serta menentukan apakah data pipeline bekerja sebagaimana mestinya.

Fungsi extract() dan transform() telah disediakan untuk Anda, bersama pandas yang sudah diimpor sebagai pd. Anda akan menguji fungsi transform() yang ditunjukkan di bawah ini.

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

Latihan ini merupakan bagian dari kursus

ETL dan ELT di Python

Lihat Kursus

Instruksi latihan

  • Impor pustaka pytest.
  • Pastikan bahwa nilai yang disimpan dalam variabel clean_tax_data merupakan instance dari pd.DataFrame.
  • Validasi bahwa jumlah kolom pada DataFrame clean_tax_data lebih besar daripada jumlah kolom yang ada pada DataFrame raw_tax_data.

Latihan interaktif langsung praktik

Cobalah latihan ini dengan melengkapi kode contoh ini.

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)
Edit dan Jalankan Kode