iT邦幫忙

2024 iThome 鐵人賽

DAY 6
0
Python

利用Python完成自動化測試專案系列 第 19

D19 pytest 插件(2)

  • 分享至 

  • xImage
  •  

昨天介紹了 pytest 的 xdist 插件,今天要介紹與執行相關的插件。
通常安裝 pytest 的插件都會用以下語法:

pip install pytest-'name'

name 為該插件的名稱。

pytest-assume

通常在測試結尾會使用 assume 來檢視測試結果是否相符,通常如果不相符會直接中斷測試,這個插件可以讓測試失敗後繼續執行完整輪測試。

pytest-instafail

通常在 pytest 執行測試時,會先把測試的結果一個一個輸出(成功: ., 失敗: F),等到執行完一輪測試後才把報錯的詳細訊息丟到終端,這樣在除錯的時候十分不方便。使用這個插件就可以在某個 case 失敗的時候立刻查看報錯的詳細訊息。

pytest-ordering

通常 pytest 執行測試的順序是按照英文字母(嚴格來講是按照 ASCII 的順序),若想要調整執行順序,除了更改 case 的名稱外,也可以使用這個插件。把想要優先執行的case前面一行加上

@pytest.mark.run(order = 1)

即可。

pytest-repeat

可以使用此插件決定哪一個 case 或哪一些 case 要重複執行,並指定重複次數,語法如下:

pytest test_test_name.py --count=n

n 為要重複執行的次數。

pytest-random-order

使用此插件可以隨機執行測試,有三個參數可以設定:

pytest --random -order
pytest --random -order-bucket
pytest --random -order-seed

第一個是一般的運行方式,若想要把隨機執行 case 設成常駐可以把此行加到 pytest.ini 的 addopt 內。

第二個是設定隨機執行的作用範圍。

第三個是隨機種子碼,若在執行隨機測試中途 fail,可以輸入相同的種子碼讓測試再次以相同的順序執行以方便除錯。

明天預計介紹其他 pytest 插件。


上一篇
D18 pytest 插件(1) pytest-xdist 平行測試
下一篇
D20 pytest 插件(3)
系列文
利用Python完成自動化測試專案30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言