- 單元測試框架教程
- 單元框架 -主頁
- 單元測試框架 - 概述
- 單元測試框架 - 框架
- 單元測試框架 - API
- 單元測試框架 - 斷言
- 單元測試框架 - 測試發現
- 單元測試框架 - 跳過測試
- 單元測試框架 - 異常測試
- 單元測試框架 - 時間測試
- 單元測試框架 - Unittest2
- 單元測試框架 - 訊號處理
- 單元測試框架 - Doctest
- 單元測試框架 - Doctest API
- 單元測試框架 - Py.test 模組
- Nose 測試 - 框架
- Nose 測試 - 工具
- 單元測試框架資源
- 單元測試框架 - 快速指南
- 單元測試框架 - 資源
- 單元測試框架 - 討論
單元測試框架 - 時間測試
JUnit(Java 單元測試框架,Pyunit 是 JUnit 的實現)有一個好用的超時選項。如果一個測試花費的時間超過指定時間,它將被標記為失敗。
Python 的測試框架不包含任何超時支援。然而,一個名為超時裝飾器的第三方模組可以完成這個工作。
從以下位置下載並安裝模組 -
https://pypi.python.org/packages/source/t/timeout-decorator/timeout-decorator-0.3.2.tar.gz
- 在程式碼中匯入 timeout_decorator
- 在測試之前新增 timeout 裝飾器
- @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()
廣告