由於某些測試用例步驟長,執行時間比較久,為了防止程式長時間處於等待狀態,浪費寶貴時間。為此,我們可以設定乙個超時時間,當測試在指定的時間長度內沒有完成(即使程式並沒有「僵死」,只是處理得比較慢),測試會被強行終止。再此,需要安裝乙個外掛程式pytest-timeout
。如下:
pip install pytest-timeout
比如,下例中設計的用例超過2秒時,就不再等待,並停止執行。
#test_timeout.py
import time
import pytest
class testmycode:
@pytest.mark.timeout(4)
def test_timeout_001(self):
"""正常執行,並通過"""
time.sleep(3)
assert 1 == 1
@pytest.mark.timeout(2)
def test_timeout_002(self):
"""超時,強制報錯"""
time.sleep(3)
assert 1 == 1
def test_timeout_003(self):
"""正常執行,並通過"""
assert 1 == 1
if __name__ == '__main__':
pytest.main(["-s", "test_timeout.py"])
結果:
另外,在jenkins中也可以設定超時停止任務,如圖:
pytest之用例設計原則及執行順序
前言 和unittest一樣,pytest也有一套用例設計的規則和執行順序。一 用例設計原則 1 檔案必須以 test 開頭 或 test結尾。2 測試用例類必須以 test開頭。3 測試用例必須以 test 開頭。二 驗證用例收集規則 有這樣乙個目錄結果 有2個package 模組包,有 init...
Pytest 執行用例
pytest 不止可以執行自己的用例,也可以執行 unittest 寫的用例。pytest 有很多執行時引數,用於指定執行的用例 執行結果展示 外掛程式引數等。pytest 有兩種執行方式 命令列通過 pytest 命令執行 pytest 引數 引數值 中使用pytest.main 引數1 引數值1...
pytest 用例依賴
1.建立訂單之前,需要先新增購物車 2.在執行訂單介面用例之前,要保證新增購物車介面用例完成,並且是pass 3.在外掛程式列表中找到,dependency名字,該外掛程式管理測試用例依賴關係 英文好的可以直接看官方文件 1.單獨執行訂單介面 test order 如下 import pytest ...