一、pytest 中内置的标记
pytest 标记使用需要通过 pytest.mark.标记 来使用,pytest 中为应对各种测试场景也内置了很多的标记。
1.1、pytest.mark.parametrize:用例参数化的标记
通过 parametrize 可以将用例数据和用例执行的逻辑代码分离,并实现根据用例,自动生成测试用例。
Demo:
@pytest.mark.parametrize('item',[11,22,33,44,55,66])
def test_demo(item)
assert item > 50
1.2、pytest.mark.skip:跳过用例执行
通过 skip 装饰的用例,在执行的时候会无条件跳过,
参数 reason:跳过测试函数的原因。
Demo
# 不写跳过原因
@pytest.mark.skip
def test_demo()
assert item > 50
# 写跳过原因
@pytest.mark.skip(reason='不需要执行')
def test_demo()
assert item > 50
1.3、pytest.mark.skipif:根据条件跳过用例
skipif 可以根据条件来决定是否跳过用例的执行, 如果条件为 True 则跳过测试函数执行。
参数 :condition —跳过的条件
参数 :reason —跳过的原因
Demo
a = 10
@pytest.mark.skipif(a > 20,reason='条件不成立,不执行')
def test_demo()
assert item > 50
1.4、pytest.mark.xfail:标记预期失败的用例
xfail 可以将测试函数标记为预期执行失败的用例。
参数 :condition — 将测试函数标记为 xfail 的条件(True/False )
参数