MulaiMulai sekarang secara 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 adalah bagian dari kursus

ETL dan ELT di Python

Lihat Kursus

Petunjuk 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 praktis

Cobalah latihan ini dengan menyelesaikan kode contoh berikut.

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