1. 程式人生 > 實用技巧 >pytest框架入門

pytest框架入門

因為最近專案需要介面自動化,由於之前公司使用的是robot framework 現在公司想用pytest框架所以抽空餘時間學習了一下pytest基礎內容,現將學習筆記整理一下後續可以作為團隊內部學習資料。

   

安裝

pip install pytest

檢視版本

pytest version

用例的識別和執行

  • 測試檔案已test_***開頭或者以_test結尾也可以
  • 測試類以Test開頭,並且不能有__init__方法
  • 測試函式以test_開頭

第一個例子

開啟pycharm的terminal 執行“pytest test_one.py“命令,輸出結果如下:

可能出現的測試結果有如下幾種:

  • PASSED(.):測試通過
  • FAILED(.):測試失敗
  • SKIPPED(s):跳過,即沒有被執行
  • XFAIL(x):預期測試失敗了,並且確實失敗了
  • XPASS(X):預期測試失敗了,但是實際通過了,不符合預期
  • ERROR(E):測試用例之外的程式碼錯誤

命令列執行引數

pytest帶有很多引數,可以使用pytest --help來檢視幫助文件,下面介紹集中長用的引數:

  • 無引數

  讀取路徑下所有符合規則的檔案,類,方法,函式全部執行

  • -v

  列印詳細的執行日誌資訊,一般在除錯的時候加上這個引數,終端會打印出每條用例的詳細日誌資訊,方便定位問題

  • -s

  帶控制檯輸出結果,當你的程式碼中有print輸出語句,如果想在執行結果中列印print輸出程式碼,在執行的時候可以新增-s引數

  • -k

  該引數用來使用表示式制定特定的測試用例執行。例如

  1.   pytest -k 類名 pytest -k Testday
  2. pytest -k 方法名 pytest -k test_0001
  3. pytest -k "類名 and not 方法名“pytest -k "Testday and not test_0001“
  • -x

  遇到用例失敗立即停止

  • -maxfail=num

  用例失敗個數達到閥值停止執行

  •   -m

  將執行有@pytest.mark.[標題]這個標記的測試用例

  •   ::(執行模式)

  舉例 pytest test_one.py::Testday pytest test_one.py::Testday::test_0001