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次,但一旦發生故障就會停止


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM