skip可以帮助我们标记一些无法在某平台执行的用例或者我们希望失败的用例又或者测试用例依赖于外部资源不可用,例如(线上数据库)

skip:有理由的跳过被标记的用例

跳过某个测试用例

  1. @pytest.mark.skip(reason="你不配")
  2. def test_eval():
  3. print("测试跳过")

跳过某个测试类

  1. @pytest.mark.skip(reason="你不配")
  2. class Test:
  3. def test_eval(self):
  4. print("测试跳过")

跳过某个测试模块

当选择跳过某个模块时,我们可以使用全局变量pytestmark或者

  1. pytestmark = pytest.mark.skip(reason="全部跳过")
  2. class Test:
  3. def test_eval(self):
  4. print("测试跳过")

跳过缺少某个依赖

  1. def importorskip(modname: str,
  2. minversion: Optional[str] = None,
  3. reason: Optional[str] = None)

modname: 模块名
minversion: 版本号
reason: 原因
实例:当缺少”pexpect”时跳过

  1. pexpect = pytest.importorskip("pexpect")

skipif:因为某些条件跳过某些用例

!!!为True时执行跳过

  1. pytestmark = pytest.mark.skipif(sys.platform == 'win32', reason="不在win系统中执行")
  2. class Test:
  3. def test_eval(self):
  4. print("测试跳过")