pytest 經常使用命令


pytest -h
命令行輸入pytest -h,找到裏面兩個命令行參數: --lf 和 --ff
- --lf, --last-failed   只從新運行上次運行失敗的用例(或若是沒有失敗的話會所有跑)
- --ff, --failed-first  運行全部測試,但首先運行上次運行失敗的測試(這可能會從新測試,從而致使重複的fixture setup/teardown)
pytest --lf
pytest --ff


若是想分佈式執行用例,用例設計必須遵循如下原則:
1.用例之間都是獨立的,
2.用例a不要去依賴用例b
3.用例執行沒前後順序,
4.隨機都能執行每一個用例都能獨立運行成功每一個用例都能重複運行,不影響其它用例
這跟就咱們日常多我的工測試同樣,用例都是獨立的,能夠隨機分配不一樣人員執行,互相不依賴,用例之間也不存在前後順序。
pytest-xdist


並行測試
多cpu並行執行用例,直接加個-n參數便可,後面num參數就是並行數量,好比num設置爲3
> pytest -n 3


測試報告
使用pytest-xdist插件也能生成html報告,完美支持pytest-html插件
>  pytest -n 3 --html=report.html --self-contained-html

重複執行用例:
使用--count命令行選項指定要運行測試用例和測試次數
py.test --count=10 test_file.py
pytest baidu/test_1_baidu.py -s --count=5

會第一個用例運行5次 而後運行第二個用例5次 若是但願 第一個用例 第二個用例這樣按順序重複5次 要用到--repeat-scope

pytest tearr_function.py -s --count=5 --repeat-scope=session

若是要在代碼中標記要重複屢次的用例 可使用
@pytest.mark.repeat(count)

這樣執行用例時候,就不用帶上--count參數,只針對test_02重複執行5次
pytest tearr_function.py -s

果您正在嘗試診斷間歇性故障,那麼一遍又一遍地運行相同的測試直到失敗是有用的。您能夠將pytest的-x選項與pytest-repeat結合使用,以強制測試運行器在第一次失敗時中止。例如:> py.test --count=1000 -x test_file.py這將嘗試運行test_file.py 1000次,但一旦發生故障就會中止
相關文章
相關標籤/搜索