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

การข้ามทดสอบแบบมีเงื่อนไข

บางครั้งอาจต้องการข้ามการทดสอบเมื่อเงื่อนไขบางอย่างเป็นจริง เช่น ต้องการรันการทดสอบทุกวัน ยกเว้นวันเสาร์ ในกรณีนี้สามารถใช้ไลบรารี datetime เพื่อดึงวันปัจจุบันของสัปดาห์ และใช้ marker ของ pytest สำหรับการข้ามการทดสอบแบบมีเงื่อนไข โดยส่งเงื่อนไขเข้าไปใน marker @pytest.mark.skipif(condition) ได้เลย ไลบรารี pytest ถูก import ไว้ให้แล้ว

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

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

ดูคอร์ส

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

  • เพิ่ม decorator สำหรับ "conditional skip" เพื่อให้โค้ดทำงานได้
  • ใส่ condition_string เข้าไปในการเรียกใช้ decorator
  • เขียน assertion tests ให้ครบถ้วน

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

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

day_of_week = datetime.now().isoweekday()

def get_unique_values(lst):
    return list(set(lst))

condition_string = 'day_of_week == 6'
# Add the conditional skip marker and the string here
____.____.____(____)
def test_function():
	# Complete the assertion tests here
    ____ ____([1,2,3]) == [1,2,3]
    ____ ____([1,2,3,1]) == [1,2,3]
แก้ไขและรันโค้ด