pytest(十二)--skip跳過用例
阿新 • • 發佈:2020-07-30
前言
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缺少匯入依賴項
概要