pytest ile birim testleri yazma
Bu egzersizde, bir veri hattını doğrulamak için bir birim testi yazmayı pratik edeceksin. Testleri oluşturmak için assert ve diğer araçları kullanacak ve veri hattının olması gerektiği gibi çalışıp çalışmadığını belirleyeceksin.
extract() ve transform() fonksiyonları ile pd olarak içe aktarılmış pandas senin için hazırlandı. Aşağıda gösterilen transform() fonksiyonunu test edeceksin.
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
Bu egzersiz, kursun bir parçasıdır
Python ile ETL ve ELT
Egzersiz talimatları
pytestkütüphanesini içe aktar.clean_tax_datadeğişkeninde saklanan değerin birpd.DataFrameörneği olduğunuassertile doğrula.clean_tax_dataDataFrame'indeki sütun sayısınınraw_tax_dataDataFrame'inde saklanan sütun sayısından büyük olduğunu doğrula.
Uygulamalı etkileşimli egzersiz
Bu egzersizi bu örnek kodu tamamlayarak deneyin.
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)