0Pricing
Python Academy · บทเรียน

การทดสอบหน่วยด้วย unittest

ค้นพบวิธีเขียนการทดสอบเพื่อตรวจสอบความถูกต้องของโค้ด

การทดสอบหน่วยด้วย unittest เป็นบทเรียน Python Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 1 จากทั้งหมด 3 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Python Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Python Academy มีบทเรียนทั้งหมด 3 บทเรียน

การทดสอบหน่วยด้วย unittest

การทดสอบหน่วยด้วย unittest

การทดสอบหน่วยคือวิธีทดสอบหน่วยโค้ดแต่ละหน่วยเพื่อให้แน่ใจว่าทำงานได้ตามที่คาดไว้ โมดูล unittest ของ Python เป็นไลบรารีในตัวสำหรับสร้างและเรียกใช้การทดสอบหน่วย

ในบทเรียนนี้ คุณจะได้เรียนรู้วิธีสร้างและดำเนินการทดสอบหน่วยโดยใช้เฟรมเวิร์ก unittest

การทดสอบหน่วยด้วย unittest — ภาพประกอบ 1

การทดสอบหน่วยคืออะไร

การทดสอบหน่วยคืออะไร

การทดสอบหน่วยเกี่ยวข้องกับการทดสอบฟังก์ชันหรือเมธอดแต่ละรายการแยกกัน เพื่อให้แน่ใจว่าทำงานได้อย่างถูกต้อง ช่วยตรวจพบข้อบกพร่องได้ตั้งแต่เนิ่น ๆ ในกระบวนการพัฒนาและช่วยให้โค้ดมีความน่าเชื่อถือ

การตั้งค่า unittest

การตั้งค่า unittest

โมดูล unittest รวมอยู่ในไลบรารีมาตรฐานของ Python ดังนั้นคุณจึงไม่จำเป็นต้องติดตั้งอะไรเพิ่มเติม หากต้องการใช้งาน ให้นำเข้าโมดูลและสร้างกรณีทดสอบด้วยการสร้างคลาสย่อยจาก unittest.TestCase

# Setting up unittest
import unittest

class TestExample(unittest.TestCase):
    def test_addition(self):
        self.assertEqual(1 + 1, 2)  # Passes

if __name__ == '__main__':
    unittest.main()

การเขียนกรณีทดสอบ

การเขียนกรณีทดสอบ

หากต้องการเขียนกรณีทดสอบ ให้กำหนดเมธอดในคลาสทดสอบ แต่ละเมธอดควรขึ้นต้นด้วย test_ เพื่อให้เฟรมเวิร์ก unittest รู้จำได้ว่าเป็นกรณีทดสอบ

# Writing test cases
class TestMathOperations(unittest.TestCase):
    def test_multiplication(self):
        self.assertEqual(2 * 3, 6)  # Passes

การเรียกใช้การทดสอบ

การเรียกใช้การทดสอบ

เรียกใช้การทดสอบด้วยการดำเนินการสคริปต์ที่มีกรณีทดสอบอยู่ เฟรมเวิร์ก unittest จะค้นหาและดำเนินการเมธอดทดสอบทั้งหมดโดยอัตโนมัติ

# Running tests
# Save this file and run it using:
# python test_script.py

การตรวจสอบยืนยันที่พบบ่อย

การตรวจสอบยืนยันที่พบบ่อย

โมดูล unittest มีเมธอดสำหรับตรวจสอบยืนยันหลายรายการ:

  • assertEqual(a, b): ตรวจสอบว่า a เท่ากับ b
  • assertTrue(x): ตรวจสอบว่า x เป็นจริง
  • assertIn(a, b): ตรวจสอบว่า a อยู่ใน b
  • assertRaises(exception): ตรวจสอบว่ามีการส่งข้อยกเว้นเกิดขึ้น

การทดสอบกรณีขอบ

การทดสอบกรณีขอบ

การทดสอบกรณีขอบเป็นสิ่งสำคัญ เช่น ข้อมูลนำเข้าที่ว่างเปล่า ตัวเลขขนาดใหญ่ หรือข้อมูลที่ไม่ถูกต้อง เพื่อให้แน่ใจว่าโค้ดของคุณมีความทนทาน

# Testing edge cases
class TestEdgeCases(unittest.TestCase):
    def test_empty_input(self):
        self.assertEqual(len([]), 0)  # Passes

การจัดระเบียบไฟล์ทดสอบ

การจัดระเบียบไฟล์ทดสอบ

สำหรับโครงการขนาดใหญ่ ให้จัดกรณีทดสอบไว้ในโฟลเดอร์แยกต่างหาก ซึ่งโดยทั่วไปตั้งชื่อเป็น tests/ และตั้งชื่อไฟล์ทดสอบโดยใช้คำนำหน้า test_

ข้อผิดพลาดที่พบบ่อยเมื่อใช้ unittest

ข้อผิดพลาดที่พบบ่อยเมื่อใช้ unittest

ข้อผิดพลาดบางประการที่ควรหลีกเลี่ยงมีดังนี้:

  • ไม่ตั้งชื่อเมธอดทดสอบโดยใช้คำนำหน้า test_
  • ลืมจัดการกรณีขอบในกรณีทดสอบ
  • ไม่เรียกใช้การทดสอบเป็นประจำระหว่างการพัฒนา

เราได้เรียนรู้อะไรบ้าง

เราได้เรียนรู้อะไรบ้าง

ในบทเรียนนี้ คุณได้เรียนรู้:

  • การทดสอบหน่วยคืออะไรและเหตุใดจึงสำคัญ
  • วิธีใช้โมดูล unittest เพื่อเขียนและดำเนินการกรณีทดสอบ
  • การตรวจสอบยืนยันทั่วไปที่มีอยู่ในเฟรมเวิร์ก unittest
  • แนวทางปฏิบัติที่ดีในการจัดระเบียบไฟล์ทดสอบและจัดการกรณีขอบ

ทำได้ดีมาก! ไปต่อที่หัวข้อถัดไปกัน

การทดสอบหน่วยด้วย unittest — ภาพประกอบ 11

คำถามที่พบบ่อย

บทเรียน “การทดสอบหน่วยด้วย unittest” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “การทดสอบหน่วยด้วย unittest” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Python Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Python Academy มีบทเรียนทั้งหมด 3 บทเรียน

คุณจะเรียนรู้อะไรในบทเรียน “การทดสอบหน่วยด้วย unittest”

ค้นพบวิธีเขียนการทดสอบเพื่อตรวจสอบความถูกต้องของโค้ด คุณปฏิบัติ Python Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Python Academy หรือไม่

ไม่จำเป็นต้องมีประสบการณ์มาก่อน Python Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 1 จากทั้งหมด 3 บทเรียน

บทเรียน “การทดสอบหน่วยด้วย unittest” ใช้เวลานานแค่ไหน

บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย

ฉันเขียนและรันโค้ดในบทเรียน Python Academy นี้ได้ไหม

ได้ บทเรียน Python Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. การทดสอบหน่วยด้วย unittest
  2. เทคนิคการแก้ไขข้อบกพร่อง
  3. การใช้เครื่องมือแก้ไขข้อบกพร่อง
← กลับไปที่ Python Academy