การสร้าง fixture ด้วย pytest
ในการเขียน unit test บางครั้งจำเป็นต้องเตรียมข้อมูลหรือสภาพแวดล้อมก่อนเริ่มทดสอบ การทำขั้นตอนนี้ไว้ภายใน unit test โดยตรงอาจทำให้โค้ดอ่านยากขึ้น และอาจต้องเขียนซ้ำหลายครั้ง โชคดีที่ pytest มีฟีเจอร์ที่ช่วยแก้ปัญหานี้ได้ นั่นคือ fixture
สำหรับแบบฝึกหัดนี้ pandas ถูก import ไว้แล้วในชื่อ pd และฟังก์ชัน extract() ด้านล่างพร้อมใช้งานแล้ว
def extract(file_path):
return pd.read_csv(file_path)
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
ETL และ ELT ด้วย Python
คำแนะนำการฝึกหัด
- Import ไลบรารี
pytest - สร้าง fixture ของ
pytestชื่อว่าraw_tax_data - คืนค่า DataFrame ชื่อ
raw_data
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Import pytest
____
# Create a pytest fixture
@pytest.fixture()
def ____():
raw_data = extract("raw_tax_data.csv")
# Return the raw DataFrame
return ____