1. 程式人生 > 實用技巧 >pytest(十二)--skip跳過用例

pytest(十二)--skip跳過用例

前言

pytest.mark.skip可以標記無法在某些平臺上執行的測試功能,或者你希望失敗的測試功能

skip意味著只有在滿足條件時才希望測試通過,否則pytest應該跳過執行測試。常見示例是在非windows平臺上跳過僅限windows的測試,或跳過測試依賴於當前不可用的外部資源(例如資料庫)。

xfail意味著您希望測試由於某種原因而失敗。一個常見的例子是對功能的測試尚未實施,或尚未修復的錯誤。當測試通過時儘管預計會失敗(標有pytest.mark.xfail),它是一個xpass,將在測試摘要中報告。

pytest計數並分別列出skip和xfail測試。未顯示有關跳過/xfailed測試的詳細資訊預設情況下,以避免混亂輸出。您可以使用-r選項檢視與"short"字母對應的詳細資訊顯示在測試進度中

pytest -rxXs # show extra info on xfailed, xpassed, and skipped tests

有關-r選項的更多詳細資訊,請執行pytest -h

skip

程式碼:

# coding:utf-8
import pytest
def test_a():
    assert "a" in "ab"
@pytest.mark.skip(reason="no env,can't test")
def test_b():
    assert "c" in "ab"
if __name__=="__main__":
    pytest.main(["-s","test_fix1.py"])  

執行結果:

skipif

skip類或模組

skip檔案或目錄

有時您可能需要跳過整個檔案或目錄,例如,如果測試依賴於特定於Python的版本功能或包含您不希望pytest執行的程式碼。在這種情況下,您必須排除檔案或目錄來自收藏。

skip缺少匯入依賴項

概要