เริ่มต้นใช้งานเริ่มต้นใช้งานได้ฟรี

การเขียน unit test ด้วย pytest

ในแบบฝึกหัดนี้ จะได้ฝึกเขียน unit test เพื่อตรวจสอบความถูกต้องของดาต้าไปป์ไลน์ โดยใช้ assert และเครื่องมืออื่น ๆ ในการสร้างชุดทดสอบ แล้วพิจารณาว่าดาต้าไปป์ไลน์ทำงานได้ตามที่ควรจะเป็นหรือไม่

ฟังก์ชัน extract() และ transform() ถูกเตรียมไว้ให้แล้ว พร้อมกับ pandas ซึ่งถูกนำเข้ามาในชื่อ pd คุณจะทดสอบฟังก์ชัน transform() ซึ่งแสดงอยู่ด้านล่างนี้

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

แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร

ETL and ELT ใน Python

ดูคอร์ส

คำแนะนำการฝึกหัด

  • นำเข้าไลบรารี pytest
  • ตรวจสอบด้วย assert ว่าค่าที่เก็บอยู่ในตัวแปร clean_tax_data เป็นอินสแตนซ์ของ pd.DataFrame
  • ตรวจสอบว่าจำนวนคอลัมน์ใน DataFrame ชื่อ clean_tax_data มากกว่าจำนวนคอลัมน์ใน DataFrame ชื่อ raw_tax_data

แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ

ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์

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)
แก้ไขและรันโค้ด