4 Pytest常用命令行選項 case相關

2021-10-13 04:18:16 字數 2874 閱讀 1813

pytest 命令執行語法

常用case相關引數說明

引數完整命令

說明使用場景

–collect-only

pytest --collect-only

收集目錄下所有的用例

測試執行之前,檢查選中的用例是否符合預期

-kpytest -k 「刪選條件」

模糊篩選指定的case

希望只執行特定的用例

-mpytest -m 「標記名稱」

標記測試並分組,以便快速選中並執行

與@pytest.mark.標籤,配合使用,只會執行有定定標記的用例

-xpytest -x

遇到錯誤即停止整個測試,下面的case不會執行

debug時常用

–maxfail=num

pytest --maxfail=2

明確指定失敗幾次後停止整個測試

批量執行時,錯誤超過預期次數時,停止執行指令碼

–lf(–last-failed)

pytest --lf

指令碼執行失敗後,僅重試失敗的用例

只執行失敗的用例,其它狀態的用例不會執行

–ff(–failed-first)

pytest --ff

與–lf相似,先執行失敗用例,其它用例也會執行

指令碼希望從失敗用例開始執行

詳細舉例說明

case檔案為:

#cd code/ch1/test_two.py

import pytest

deftest_a()

:assert(1

,2,3

)==(1

,2,3

)def

test_failing()

:assert(1

,2,3

)==(3

,2,1

)def

test_failing2()

:assert(1

,2,3

)==(3

,2,1

)def

test_b()

:assert(1

,2,3

)==(1

,2,3

)@pytest.mark.smoke1

deftest_c()

:assert(1

,2,3

)==(1

,2,3

)@pytest.mark.smoke2

deftest_d()

:assert(1

,2,3

)==(1

,2,3

)

1、–collect–only:收集目錄下所有的用例

2、-k:模糊篩選指定的case,只要匹配到了就,就收集執行

從執行結果可以看出,-k是會按條件模糊查詢case名稱中的資訊,只要匹配到了就,就收集執行

3、-m:執行帶用指定標記的用例,常於@pytest.mark結合使用

注:上圖的mark警告資訊是由於,mark標記 smoke1等不是fixture自帶的標記,為自定義標記,所以報錯,解決辦法將在@pytest.mark內詳細說明

4、-x:遇到失敗停止執行指令碼

上圖可以看出,遇到停卡,其它幾條用例就不再執行

5、–maxfail=num:達到num錯誤次數再停卡整個case,此引數與-x類似,都是遇錯誤終止

6、–lf(–last-failed):執行最後一次失敗用例,且只執行失敗的case(前提是已經執行過的用例有失敗的一次執行,-x我們已經有過一次失敗了)

7、–ff(–failed-first):同lf相似,但–ff是所有的case都會執行,只是優先執行上次失敗的case,再執行其它狀態的case

pytest 常用命令行選項學習筆記(一)

1.pytest help help 檢視全部選項 2.pytest m選項 描述 標記 marker 用於標記測試並分組,以便快速選中並執行。3.pytest v選項 描述 使用 v verbose選項,輸出的資訊會更詳細。最明顯的區別就是每個檔案中每個測試用例都佔一行,測試的名字和結果都會顯示出...

pytest基礎 常用的命令列選項

pytest的命令列選項可以通過命令 pytest help 檢視。本文講解我學習中碰到的命令或常用的命令 一 collect only 可以展示在給定配置下哪些用例被執行。方便在測試執行之前,檢查用例是否符合預期。二 k 允許你使用表示式指定希望執行的測試用例。如果某測試名是唯一的,或者多個測試名...

gcc的常用命令行選項

gcc的常用命令行選項 選項 說明 o file 指定輸出檔名,在編譯為目標 時,這一選項不 是必須的.如果file沒有指定,預設檔名時a.out c 只編譯不鏈結 dfoo bar 在命令列定義預處理巨集foo,其值為bar idirname 將dirname加入到包含檔案的搜尋目錄列表中 ldi...