Pytest框架(5) -- 设置跳过(Skip)、预期失败(xFail)用例
前言
在自动化测试过程中,会有一些特殊情况,比如说某个功能还没开发完成但是用例已经写完了。现在不想执行这个用例,想跳过这个用例。或者还有个功能处于bug状态,想在这个版本运行到那时不作为参考,运行它失败的测试用例,我们可以加标签进行过滤掉。pytest提前预置好一些方法一些装饰器也是在mark这个标签里。这些标签很容易实现跳过、预期结果失败这些场景。
Mark:跳过(Skip)及预期失败(xFail)
Skip使用场景
调试时跳过一些测试用例,可能开发还没搞完,或者我们用例没有写好,可以注释掉,但是优雅点方式添加装饰器方式跳过这些测试用例。具体可以在测试用例上面添加装饰器,先不去执行一部分。
首先,看skip方式~~~
在方法上面加上skip
import pytest
# 在方法上面加上装饰器,可以跳过这个用例,没有任何输出
# skip没有添加任何原因,表示无条件跳过。没有任何原因
# 图标:灰色表示跳过,成功表示对勾,红叉表示执行失败。
@pytest.mark.skip
def test_aaa(): # 第一段代码
print("代码未开发完")
assert True
# reason表示原因,标注跳过的原因
# 加上一个reason备注一下原因,说明一下跳过的原因
@pytest.mark.skip(reason="代码没有实现")
def test_bbb(): # 第二段代码
assert False
## 代码块中添加 跳过代码块 pytest.skip(reason="")
def check_login(): # 第三段代码
return False
def test_function():
print("start")
# 如未登录,则跳过后续步骤.可以根据项目需求做怎么的跳过
if not check_login():
pytest.skip("unsupported configuration")
print("end")
第一段执行代码:
无条件跳过
第二段代码:
加上一个reason备注一下原因,说明一下跳过的原因
第三段代码:
return False:则会跳过
return Ture:则会执行
Skipif使用场景
skipif,里面可以给他一些表达式
我们可以给他不同条件可以给他不同的条件,执行不同的代码。