ในบทความนี้ เราจะเรียนรู้เกี่ยวกับพื้นฐานของการทดสอบซอฟต์แวร์ด้วยความช่วยเหลือของโมดูลการทดสอบหน่วยที่มีอยู่ใน Python 3.x หรือก่อนหน้านี้ อนุญาตให้ใช้ระบบอัตโนมัติ แชร์การตั้งค่าและรหัสออกสำหรับการทดสอบ และการทดสอบอิสระสำหรับทุกเฟรมเวิร์ก
ในการทดสอบหน่วย เราใช้แนวคิดเชิงวัตถุที่หลากหลาย เราจะพูดถึงแนวคิดที่ใช้เป็นหลักบางส่วนที่นี่
-
ทดสอบ − เป็นคลาสพื้นฐานเฉพาะของการตอบสนองตามชุดของอินพุตที่กำหนด เราใช้คลาสพื้นฐานของการทดสอบหน่วยเช่น “TestCase ” เพื่อดำเนินการนี้
-
ชุดทดสอบ − ใช้เพื่อรวมกรณีทดสอบเข้าด้วยกันและดำเนินการพร้อมกัน
-
ผู้ทดสอบ − มันเป็นไปตามการดำเนินการตามผลลัพธ์ของงาน มีส่วนร่วมในการแสดงผลหลังจากดำเนินการงาน
-
ตัวทดสอบ − ทำหน้าที่เป็นพื้นฐานสำหรับกรณีทดสอบในสภาพแวดล้อมที่เกี่ยวข้อง
มาดูตัวอย่างพื้นฐานเพื่อดูว่าการทดสอบหน่วยทำงานอย่างไร
ตัวอย่าง
นำเข้า unittestclass TestStringMethods(unittest.TestCase):def test_upper(self):self.assertEqual('TUTOR'.lower(), 'tutor') def test_islower(self):self.assertTrue('tutor'.islower() )) self.assertFalse('Tutor'.islower()) ถ้า __name__ =='__main__':unittest.main()
ผลลัพธ์
<ก่อนหน้า>...--------------------------------------------- ------------------- ทำการทดสอบ 2 ครั้งใน 0.000sOK
ที่นี่เราขยายคลาสการทดสอบหน่วยในรูปแบบของการสืบทอดเดี่ยว ที่นี่เราใช้วิธีการในตัวเช่น assertEqual() , assertTrue() &assertFalse()
assertEqual() ใช้สำหรับตรวจสอบ/เปรียบเทียบผลลัพธ์กับผลลัพธ์
assertTrue() ใช้เพื่อตรวจสอบว่าเงื่อนไขที่กำหนดเป็นจริงหรือไม่
assertFalse() ใช้เพื่อตรวจสอบว่าเงื่อนไขที่กำหนดนั้นเป็นเท็จหรือไม่
ผลลัพธ์ของรหัสข้างต้นสามารถอยู่ในรูปแบบสามรูปแบบ -
ตกลง – สิ่งนี้บ่งชี้ว่าการทดสอบทั้งหมดที่สร้างขึ้นได้ดำเนินการสำเร็จแล้ว
ล้มเหลว – แสดงว่ากรณีทดสอบล้มเหลวและมีข้อยกเว้น AssertionError
ข้อผิดพลาด – สิ่งนี้บ่งชี้ว่าการทดสอบทำให้เกิดข้อยกเว้น/ข้อผิดพลาด
เราสามารถใช้มัณฑนากร @unittest.skip(
ตัวอย่าง
นำเข้า unittestclass TestString(unittest.TestCase):@unittest.skip("check skipped tests") def test_upper(self):self.assertEqual('TUTOR'.lower(), 'tutor') def test_islower(self) :self.assertTrue('tutor'.islower()) self.assertFalse('Tutor'.islower()) ถ้า __name__ =='__main__':unittest.main()
ผลลัพธ์
<ก่อนหน้า>...--------------------------------------------- -------------------- ทำการทดสอบ 2 ครั้งใน 0.000sOK (ข้าม =2)บทสรุป
ในบทความนี้ เราได้เรียนรู้เกี่ยวกับการทดสอบหน่วยใน Python โดยใช้โมดูล unittest ใน Python 3.x หรือก่อนหน้านั้น