pytest用例标记和测试执行篇
上一篇文章入门篇咱们介绍了pytest的前后置方法和fixture机制,这个章节主要给大家介绍pytest中的标记机制和用例执行的方法。pytest可以通过标记将数据传入于测试函数中,也可以通过标记中对执行的用例做筛选,接下来直接进入正题。
一、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可以将测试函数标记为预期执行失败的用例。
参数 :