Skip to main content

Askboon

การทำ Unit Test ขั้นพื้นฐาน

เราสามารถใช้โมดูล unittest ที่มีใน python มาใช้ในการทำ unit test ได้ แม้มันอาจจะไม่ใช่ framework การ test ที่ดีหรือใช้ง่ายที่สุด แต่มันก็เพียงพอที่จะใช้งานเบื้องต้น และเป็นจุดเริ่มต้นที่จะใช้ framework อื่นๆในการทำ test บน Python ได้

สร้างไฟล์ main_test.py ตามรายละเอียดด้านล่างนี้

1
2
3
4
5
6
7
8
import unittest
def my_func(a,b):
    return a+b
class myTest(unittest.TestCase):
    def test_my_func(self):
        self.assertEqual(my_func(1,2), 3)
if __name__ == "__main__":
    unittest.main()

คำอธิบาย

  1. ทำการ import unittest
  2. ฟังก์ชั่น my_func เป็นฟังก์ชั่นที่เราต้องการทดสอบ (ในการทำงานจริง เราสามารถ import function จาก module อื่นมาทำการทดสอบใน test นี้ได้)
  3. สร้าง Class ที่มี test method ตามตัวอย่าง
  4. ฟังก์ชั่น test_my_func เป็นฟังก์ชั่นที่เป็นตัวทำ test
  5. คำสั่ง self.assertEqual เป็นคำสั่งใช้ในการเทียบค่าของฟังก์ชั่นกับผลลัพธ์ที่เรากำหนด จากนั้นให้ run คำสั่งด้านล่างใน terminal
python main_test.py

จะได้ผลลัพธ์ตามรูปด้านล่างนี้

ซึ่งหมายความว่า มีการทดสอบ 1 test และผลล้พธ์ออกมาคือผ่าน

หากเราลองเปลี่ยน code ให้เปรียบเทียบผลล้พธ์ที่ไม่ถูกต้อง เช่น

1
self.assertEqual(my_func(1,2), 99)

จะได้ผลลัพธ์ดังรูปด้านล่าง ซึ่งแสดงว่าผลลัพธ์ของการ test คือไม่ผ่าน

นี่คือพื้นฐานขั้นต้นที่สุดในการทำ test สำหรับ Python

อ้างอิง: https://docs.python.org/3/library/unittest.html