Khung UnitTest - Kiểm tra thời gian

Junit, khung kiểm thử đơn vị Java (Pyunit đang triển khai JUnit) có một tùy chọn thời gian chờ tiện dụng. Nếu một bài kiểm tra kéo dài hơn thời gian quy định, nó sẽ bị đánh dấu là không đạt.

Khung thử nghiệm của Python không chứa bất kỳ hỗ trợ nào cho thời gian chờ. Tuy nhiên, một mô-đun phần thứ ba được gọi là timeout-decorator có thể thực hiện công việc.

Tải xuống và cài đặt mô-đun từ -

https://pypi.python.org/packages/source/t/timeout-decorator/timeout-decorator-0.3.2.tar.gz

  • Nhập timeout_decorator vào mã
  • Đặt trang trí thời gian chờ trước khi kiểm tra
  • @timeout_decorator.timeout(10)

Nếu phương pháp kiểm tra bên dưới dòng này mất nhiều hơn thời gian chờ được đề cập (10 phút) ở đây, lỗi TimeOutError sẽ xuất hiện. Ví dụ -

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()