> 技术文档 > pytest中使用skip跳过某个函数

pytest中使用skip跳过某个函数


目录

1-- 如果我们在pytets中不想让某些函数执行

2-- 跳过某些我们不想执行的函数


  1. 如果我们在pytets中不想让某些函数执行

    1. 因为这些函数执行会因为某些原因执行错误
      1. 可能因为,版本不兼容
      2. 机型原因等
    2. 想跳过当前执行
      1. 可以通过
        1. @pytest.mark.skip(reason =\"当前版本不兼容\")
        2. @pytest.mark.skip(reason = “原因”) 直接跳过
  2. 跳过某些我们不想执行的函数

    1. import pytestclass TestRerunFailures: def test_demo_001(self): print(\"---------test_demo_001--------\") print(\"success\") assert True def test_demo_002(self): print(\"---------test_demo_002--------\") print(\"success\") assert True  def test_demo_003(self): print(\"---------test_demo_003--------\") print(\"fail\") assert False  def test_demo_004(self): print(\"---------test_demo_004--------\") print(\"fail\") assert False def test_demo_005(self): print(\"---------test_demo_005--------\") print(\"success\") assert True
    2. 我们不想执行
      1.  def test_demo_003(self)
      2. def test_demo_004(self)
    3. 使用
      1. @pytest.mark.skip(reason=\"当前版本不兼容\")def test_demo_003(self): print(\"---------test_demo_003--------\") print(\"fail\") assert False
      2. @pytest.mark.skip(reason=\"测试设备不支持\")def test_demo_004(self): print(\"---------test_demo_004--------\") print(\"fail\") assert False
      3. 标记完之后的运行结果
      4. 在执行已经标记过的函数已经跳过了
    4. 也可以使用 skipif进行跳过
      1. @pytest.mark.skipif(condition=False, reason=\"fail\")def test_demo_002(self): print(\"---------test_demo_002--------\") print(\"success\") assert True
      2. @pytest.mark.skipif(condition=False, reason=\"fail\")
      3. 这个可以针对condition条件机型判断