pytest學習記錄

pytest用例識別規則

pytest會從當前目錄遞歸查找所有的test_.py或_test.py的文件(包含子文件夾),收集滿足以下條件的函數或方法當作測試用例:

  • 不在類定義中的以test_開頭的函數或方法
  • 在以Test開頭的類中(不能包含init方法),以test_開頭的方法
  • pytest也支持unittest模式的用例定義

pytest 運行常用指令項 

pytest –collect-only :蒐集當前目錄及下級目錄的測試用例個數

pytest -k “KKK” :利用你的條件表達式來 過濾 測試用例的名字,得到希望運行的測試用例

pytest -m "first_case"  :m 是marker的縮寫,執行自己標記的first_case測試用例,標記測試用例在測試用例方法前面加上@pytest.mark.first_case,其中first_case 是裝飾器用於標記的內容;

 pytest  -x :遇到斷言失敗就停止執行.

pytest –lf : lf 是 last failed 的縮寫,直接過濾出最後一個fail 的測試用例,有利於快速查找失敗的用例

pytest –ff :是 failed first,優先運行失敗的case ,再把之前運行通過的也要運行

 pytest --tb=style失敗輸出信息的顯示方式,style 方式常用如下3種:

  • --tb=no: 屏蔽所有的回溯信息,只是顯示哪個文件哪個case 失敗,
  • --tb=line :具體到哪個assert
  • --tb=short: 具體到哪個參數,列舉出更詳細的失敗信息.

pytest.fixture()

fixture是pytest的閃光點,在pytest中fixture的功能很多,本節主要介紹用fixture的參數化功能。

  • pytest.fixture()中傳入的參數爲list,用例執行時,遍歷list中的值,每傳入一次值,則相當於執行一次用例。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章