文章目錄
- 1.前言
- 2.使用 @pytest.mark.skip 標記無條件跳過
- 3.使用 @pytest.mark.skipif 標記根據條件跳過
- 4. 執行pytest.skip()方法跳過測試用例
1.前言
在實際場景中,我們可能某條測試用例沒寫完,代碼執行時會報錯,或者是在一些條件下不讓某些測試用例去執行,這個時候我們就需要跳過一些測試用例的執行。
pytest中測試用例跳過有三種方式:
- @pytest.mark.skip
- @pytest.mark.skipif
- 執行pytest.skip()在測試函數內部動態跳過
2.使用 @pytest.mark.skip 標記無條件跳過
當你明確知道某個測試用例由于某些原因(如功能未實現、依賴環境不滿足等)不能執行時,可以使用此標記。
示例:
import pytestdef test_01():assert 1==1@pytest.mark.skip(reason='測試用例無條件跳過')
def test_02():assert 2==2if __name__ == '__main__':pytest.main()
運行結果:
3.使用 @pytest.mark.skipif 標記根據條件跳過
根據指定的條件來決定是否跳過測試用例,當條件為 True 時,測試用例會被跳過。
示例:
import pytestdef test_01():assert 1==1@pytest.mark.skip(reason='測試用例無條件跳過')
def test_02():assert 2==2@pytest.mark.skipif(1==1,reason='條件為True時跳過')
def test_03():assert 3==3if __name__ == '__main__':pytest.main()
4. 執行pytest.skip()方法跳過測試用例
在測試函數執行過程中,根據某些運行時的條件來決定是否跳過測試。
示例:
import pytestdef test_01():assert 1==1@pytest.mark.skip(reason='測試用例無條件跳過')
def test_02():assert 2==2@pytest.mark.skipif(1==1,reason='條件為True時跳過')
def test_03():assert 3==3def test_04():pytest.skip('執行測試用例時跳過')assert 4==4if __name__ == '__main__':pytest.main()
運行結果: