UnitTest Framework - การทดสอบเวลา
Junit เฟรมเวิร์กการทดสอบหน่วย Java (Pyunit ใช้งาน JUnit) มีตัวเลือกการหมดเวลาที่สะดวก หากการทดสอบใช้เวลานานกว่าที่กำหนดจะถูกทำเครื่องหมายว่าล้มเหลว
กรอบการทดสอบของ Python ไม่มีการรองรับการหมดเวลา อย่างไรก็ตามโมดูลส่วนที่สามที่เรียกว่า timeout-decorator สามารถทำงานได้
ดาวน์โหลดและติดตั้งโมดูลจาก -
https://pypi.python.org/packages/source/t/timeout-decorator/timeout-decorator-0.3.2.tar.gz
- นำเข้า timeout_decorator ในโค้ด
- ใส่มัณฑนากรหมดเวลาก่อนการทดสอบ
- @timeout_decorator.timeout(10)
หากวิธีการทดสอบด้านล่างบรรทัดนี้ใช้เวลามากกว่าการหมดเวลาที่กล่าวถึง (10 นาที) ที่นี่ TimeOutError จะเพิ่มขึ้น ตัวอย่างเช่น -
import time
import timeout_decorator
class timeoutTest(unittest.TestCase):
@timeout_decorator.timeout(5)
def testtimeout(self):
print "Start"
for i in range(1,10):
time.sleep(1)
print "%d seconds have passed" % i
if __name__ == '__main__':
unittest.main()