บทนำเกี่ยวกับ fixture

Python เบื้องต้นสำหรับการทดสอบโค้ด

Alexander Levin

Data Scientist

Fixture คืออะไร

  • Fixture — สภาพแวดล้อมที่เตรียมไว้สำหรับการรันเทสต์
  • Fixture Setup — กระบวนการเตรียมสภาพแวดล้อมและทรัพยากรที่เทสต์หนึ่งหรือหลายตัวต้องการ

ลองนึกถึงการเตรียมปิกนิก:

  1. ชวนเพื่อนและเตรียมอาหาร (นั่นคือสิ่งที่ fixture ทำ)
  2. สนุกกันได้เลย!
  3. เก็บกวาดทำความสะอาด
Python เบื้องต้นสำหรับการทดสอบโค้ด

ทำไมต้องใช้ fixture

Fixture ช่วย:

  • ทำให้การตั้งค่าเทสต์ง่ายขึ้น
  • แยกการเตรียมสภาพแวดล้อมออกจากตัวเทสต์
  • ทำให้โค้ด fixture นำกลับมาใช้ใหม่ได้
Python เบื้องต้นสำหรับการทดสอบโค้ด

ตัวอย่าง fixture: ภาพรวม

สมมติว่ามี:

  • ตัวแปร list ของ Python ชื่อ data
  • data = [0, 1, 1, 2, 3, 5, 8, 13, 21]

และต้องการเทสต์ว่า:

  • มี 9 อิลิเมนต์
  • มีอิลิเมนต์ 5 และ 21 อยู่ในลิสต์
Python เบื้องต้นสำหรับการทดสอบโค้ด

ตัวอย่าง fixture: โค้ด

import pytest

# Fixture decorator
@pytest.fixture
# Fixture for data initialization
def data():
    return [0, 1, 1, 2, 3, 5, 8, 13, 21]

def test_list(data):
    assert len(data) == 9
    assert 5 in data
    assert 21 in data
Python เบื้องต้นสำหรับการทดสอบโค้ด

ตัวอย่าง fixture: ผลลัพธ์

ผลลัพธ์ของตัวอย่าง: ผลลัพธ์ของตัวอย่าง fixture

Python เบื้องต้นสำหรับการทดสอบโค้ด

วิธีใช้ fixture

ขั้นตอนการใช้ fixture มีดังนี้:

  1. เตรียมซอฟต์แวร์และเทสต์
  2. ระบุส่วน "การเตรียมสภาพแวดล้อม"
  3. สร้าง fixture:
    • ประกาศ decorator @pytest.fixture
    • เขียนฟังก์ชัน fixture
  4. ใช้ fixture ที่สร้างไว้:
    • ส่งชื่อ fixture เข้าไปในฟังก์ชันเทสต์
    • รันเทสต์!
Python เบื้องต้นสำหรับการทดสอบโค้ด

สรุป

สิ่งที่เรียนรู้เกี่ยวกับ testing fixture:

  • Fixture — สภาพแวดล้อมที่เตรียมไว้สำหรับการรันเทสต์
  • ใช้ fixture เพื่อให้การตั้งค่าเทสต์ง่ายขึ้นและแยกออกจากฟังก์ชันเทสต์
  • ตัวอย่างง่าย ๆ: การเตรียม list ของ Python
  • กำหนด fixture ของ pytest โดยประกาศ @pytest.fixture
    • ตามด้วยฟังก์ชัน fixture
  • ชื่อ fixture ถูกใช้ในเทสต์เป็นตัวแปร
Python เบื้องต้นสำหรับการทดสอบโค้ด

มาฝึกกันเถอะ!

Python เบื้องต้นสำหรับการทดสอบโค้ด

Preparing Video For Download...