移動測試——pytest測試框架

pytest是⼀個⾮常成熟的全功能的Python測試框架,主要特點有以下⼏點:

  1. 能夠⽀持簡單的單元測試和複雜的功能測試,還可以⽤來做selenium/appnium 等⾃動化測試、接口⾃動化測試(pytest+requests);
  2. pytest具有很多第三⽅插件,並且可以⾃定義擴展,⽐較好⽤的如pytestselenium(集成selenium)、pytest-html(完美html測試報告⽣成)、pytestrerunfailures(失敗case重複執⾏)、pytest-xdist(多CPU分發)等;
  3. 測試⽤例的skip和xfail處理;
  4. 可以很好的和jenkins集成;

實用注意:

  • pytest只能識別以test_開頭和_test結尾的.py⽂件,識別以test.開頭的所 有⽅法、類
  • 測試類必須以Test開頭,並且不能有 init ⽅法
  • 測試⽅法必須以test_開頭
  • 如果當前⽂件夾下有多個⽂件,test_sample2.py , test_sample3.py 想 要運⾏所有的測試⽤例,只需要運⾏命令:pytest就可以了。如果運 ⾏單個⽂件,則運⾏命令: pytest test_sample2.py •
  • 斷⾔使⽤基本的assert即可。

命令參數

命令 解釋
pstest --version 顯示版本信息
pytest --fixtures 顯示可用的內置函數
pytest -h | --help 顯示參數和配置信息
pytest --lf 運行上一次失敗案例
pytest -x | --exitfirst 第一次失敗後停止
pytest --maxfail=2 第二(n)次次失敗後停止
pytest test_mod.py 運行單個文件中的用例
pytest testing/ 運行文件夾下的用例
pytest test_mod.py::TestClass::test_methos 運行模塊下類特定的方法
pytest -m slow marker運行測試用例(運行所有被裝飾器標記@pytest.mark.slow的用例)
pytest --prargs pkg.testing 從包中運行測試用例(要導入 import pkg.testing)
pytest -ra 運行測試用例(顯示測試總的結果信息,輸出信息的最後)
pytest -rp 運行測試用例(顯示測試 通過的結果信息,輸出信息的最後)
pytest -rE 運行測試用例(顯示測試錯誤的結果信息,輸出信息的最後)
pytest -rs 運行測試用例(顯示測試跳過的結果信息,輸出信息的最後),也可以結合使用 -ref 顯示跳過的失敗的
pytest -v pytest1.py -v 用於顯示每個測試函數的執行結果
pytest -q pytest1.py -q 只顯示整體測試結果
pytest -s pytest1.py -s 用於顯示測試函數中print()函數輸出
pytest --durations=10 獲得最慢的10個測試持續時間表
pytest --junitxml=path s生成一個結果集xml文件,可用於Jenkins持續集成
pytest --pastebin=failed 爲每個失敗的用例創建一個url
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章