Skip to content

วิธีการเขียน unittest ใน Python แบบลัด

สวัสดีปีใหม่ 2560 ทุกท่านครับ หลังจากที่ผมได้ทำ PyThaiNLP จึงได้ศึกษาการเขียน unittest ใน Python เลยขอเล่าในบทความนี้ครับ


Unit test คืออะไร

Unit test คือ ระบบทดสอบโค้ดที่เขียนว่าทำงานตามที่ต้องการหรือไม่


บทความนี้เข้ากันได้ทั้ง Python 2.7 และ Python 3

โดยในภาษา Python มีไลบรารี unittest สำหรับทำ Unit test มาในตัว Python ทุกเวชั่น

วิธีการเขียน Unit test ด้วยไลบรารี unittest ในภาษา Python

ให้ทำการสร้างไฟล์สำหรับการทดสอบขึ้นมา ในที่นี้ ผมใช้ชื่อไฟล์ว่า "test.py"
ก่อนใช้งานต้อง

import unittest

แล้วต่อมา ลงมือเขียนส่วน Test

  • ส่วน Test ตามเอกสารของ unittest
  • สร้าง class ครอบส่วนฟังก์ชัน def ที่ต้องการ Test ทั้งหมด
  • ส่วน class เติม unittest.TestCase ลงไปใน class name(unittest.TestCase)
  • ส่วนของฟังก์ชัน def ที่ต้องการใช้ในการ Test ต้องเติม test ใส่นำหน้าชื่อ def เช่น
    def testNumber()
  • ในส่วนคำสั่งใน def ต้องใส่ Method ตามที่เอกสาร unittest กำหนด (ดูได้ที่ https://docs.python.org/3/library/unittest.html#unittest.TestCase.debug)
    หากการเปรียบเทียบใช้

    assertEqual(a, b)

    จะเท่ากับ

    a==b
  • ใส่คำสั่ง unittest.main() ซึ่งเป็นคำสั่งสำหรับรันการทดสอบไว้ใน __main__ ดังนี้
    if __name__ == '__main__':
        unittest.main()
    

ได้โค้ดไฟล์ test.py

import unittest
class TestUM(unittest.TestCase):
	def testNumber(self):
		self.assertEqual(1+1,2)
if __name__ == '__main__':
    unittest.main()

ผลลัพธ์ เมื่อรันไฟล์

.
----------------------------------------------------------------------
Ran 1 test in 0.000s

OK

อ่านเอกสารการใช้งาน unittest ได้ที่ https://docs.python.org/3/library/unittest.html

บทความนี้เขียนโดย นาย วรรณพงษ์ ภัททิยไพบูลย์ นักพัฒนาภาษา Python ที่บล็อก https://python3.wannaphong.com/

1 thought on “วิธีการเขียน unittest ใน Python แบบลัด

  1. Pingback: ควบคุมคุณภาพโค้ด Python - Python 3

ใส่ความเห็น

อีเมลของคุณจะไม่แสดงให้คนอื่นเห็น ช่องที่ต้องการถูกทำเครื่องหมาย *