您好,登錄后才能下訂單哦!
本篇內容主要講解“Pytest中skip和skipif的使用方法是什么”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“Pytest中skip和skipif的使用方法是什么”吧!
使用示例:@pytest.mark.skip(reason="跳過的原因,會在執行結果中打印")
舉個?
import pytest def test_1(): print("測試用例1") @pytest.mark.skip(reason="沒寫完,不執行此用例") def test_2(): print("測試用例2")
執行結果如下:
舉個?
import pytest class TestCase(object): def test_1(self): print("測試用例1") @pytest.mark.skip(reason="沒寫完,不執行此用例") def test_2(self): print("測試用例2")
執行結果如下
舉個?
import pytest @pytest.mark.skip(reason="沒寫完,不執行此用例") class TestCase1(object): def test_1(self): print("測試用例1") def test_2(self): print("測試用例2") class TestCase2(object): def test_3(self): print("測試用例3") def test_4(self): print("測試用例4")
執行結果如下
@pytest.mark.skip 可以加在函數上,類上,類方法上
如果加在類上面,則類里面的所有測試用例都不會執行
以一個for循環為例,執行到第3次的時候跳出
import pytest def test_demo(): for i in range(50): print(f"輸出第【{i}】個數") if i == 3: pytest.skip("跑不動了,不再執行了")
執行結果如下
語法:pytest.skip(msg="",allow_module_level=False)
當allow_module_level=True
時,可以設置在模塊級別跳過整個模塊
import pytest pytest.skip("跳過整個模塊", allow_module_level=True) @pytest.fixture(autouse=True) def test_1(): print("執行測試用例1") def test_2(): print("執行測試用例2")
執行結果如下
語法:@pytest.mark.skipif(condition, reason="")
import sys import pytest @pytest.mark.skipif(sys.platform == 'darwin', reason="does not run on MacOS") class TestSkipIf(object): def test_demo(self): print("不能在MacOS上運行")
注意:condition需要返回True才會跳過
執行結果如下:
可以將 pytest.mark.skip 和 pytest.mark.skipif 賦值給一個標記變量
在不同模塊之間共享這個標記變量
若有多個模塊的測試用例需要用到相同的 skip 或 skipif ,可以用一個單獨的文件去管理這些通用標記,然后適用于整個測試用例集
舉個?
import sys import pytest skipmark = pytest.mark.skip(reason="不執行此用例") skipifmark = pytest.mark.skipif(sys.platform == 'darwin', reason="does not run on MacOS") @skipifmark class TestSkipIf(object): def test_demo(self): print("不能在MacOS上運行") @skipmark def test_1(): print("測試用例1") def test_2(): print("測試用例2")
執行結果如下
語法:
pytest.importorskip( modname: str, minversion: Optional[str] = None, reason: Optional[str] = None )
參數:
modname: 需要被導入的模塊名稱,比如 selenium;
minversion: 表示需要導入的最小的版本號,如果該版本不達標,將會打印出報錯信息;
reason: 只有當模塊沒有被導入時,給定該參數將會顯示出給定的消息內容
舉個?
import pytest rock = pytest.importorskip("rock") @rock def test_1(): print("測試是否導入了rock模塊")
運行結果
舉個?
import pytest sel = pytest.importorskip("selenium", minversion="3.150") @sel def test_1(): print("測試是否導入了selenium模塊")
運行結果
到此,相信大家對“Pytest中skip和skipif的使用方法是什么”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。