【pytest】常見的 pytest 參數及插件

pytest 的常見參數:

  1. -m :只運行被標記的測試用例;
  2. -k:只運行與給定字符串表達式匹配的測試用例;
  3. -s :顯示標準輸出,例如print()的語句;
  4. -v :顯示詳細報告;
  5. -q :顯示簡潔報告;
  6. -x :用例失敗時立即停止測試;
  7. -c file :從 file 加載配置文件;
  8. -l  (--showlocals) :用例失敗信息回溯時顯示局部變量及其值;
  9. -rsxX :報告(r)測試用例被跳過(s)、預計失敗(x)、預計失敗但實際通過(X)的原因;
  10. -strict:禁止使用未在配置文件(pytest.ini)註冊的 mark 標記;
  11. --maxfail=n :失敗n後停止運行測試;
  12. --lf  (--last-failed) :僅執行上次失敗的用例;                                                                                                                            注意:如果沒有失敗的用例或者沒找到緩存文件,默認是運行所有的用例!
  13.  --lfnf =[all, none] :與 --lf 同時使用,=all 代表找不到用例或緩存文件時執行所有用例,=none 代表找不到用    例或緩存文件時不執行測試用例;
  14. --ff  (--failed-first) :先執行失敗的用例,再執行其他用例;
  15. --nf (--new-first) :首先從新文件或新修改的用例開始運行測試;
  16. --sw (--stepwise) :在測試失敗時退出,且下一次在測試失敗的用例開始測試;
  17. --stepwise-skip :忽略第一個失敗的測試,在第二次測試失敗時退出;
  18. --keep-duplicates : 不斷重複的測試;
  19. --durations=n :顯示執行最慢的n條用例;                                                                                                                                注意:除非添加參數 -vv,默認情況下,否則pytest不會顯示<0.01s的測試時間;
  20. --fixtures :顯示所有可用的 fixture;
  21. --tb=style :堆棧回溯信息打印模式 (auto/long/short/line/native/no]);
  22. --setup-show  :顯示fixture執行步驟;
  23. --cache-show=[CACHESHOW] :顯示緩存內容,不執行收集或測試;
  24. --cache-clear :運行前清除pytest緩存;
  25. --continue-on-collection-errors:即使發生收集(收集用例階段)錯誤,也強制執行測試;
  26. --rootdir=ROOTDIR :定義測試的根目錄;
  27. --color=color :終端輸出的顏色(yes/no/auto);

  28. --collect-only :只收集用例,不執行;

  29. --assert=MODE : “plain”不執行任何斷言調試,“rewrite”重寫測試模塊中的assert語句,以提供assert表達式信息;

pytest 的常用插件:

  1. 用例失敗後自動重新運行:pytest-rerunfailures,使用方法:
    1. 安裝插件:pip install pytest-rerunfailures
    2. pytest test_x.py --reruns=n (失敗後重運行的次數)
  2. 重複運行測試:pytest-repeat,使用方法:
    1. 安裝插件:pip install pytest-repeat
    2. pytest test_x.py --count=n (重複運行的次數)
  3. 多線程執行測試任務:pytest-xdist,使用方法:
    1. 安裝插件:pip install pytest-xdist
    2. pytest test_x.py -n [N, auto] (N:指定併發的進程數,auto:自動檢測cpu數量)
  4. 爲測試設置時間限制:pytest-timeout,使用方法:
    1. 安裝插件:pip install pytest-timeout
    2. pytest test_x.py --timeout=n (時間限制,單位:秒)
  5. 用例失敗時立刻顯示錯誤的堆棧回溯信息:pytest-instafail,使用方法:
    1. 安裝插件:pip install pytest-instafail
    2. pytest test_x.py --instafail
  6. 顯示色彩和進度條(也能顯示錯誤的堆棧信息):pytest-sugar,使用方法:
    1. 安裝插件即可生效:pip install pytest-sugar
  7. 藉助瀏覽器完成自動化測試:pytest-selenium,可以啓動一個瀏覽器,打開網址,運行web應用,填充表單等等;
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章