1 Fork me on GitHub

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,里面可以给他一些表达式
我们可以给他不同条件可以给他不同的条件,执行不同的代码。



 

posted @ 2022-06-17 23:37  v_jjling  阅读(201)  评论(0编辑  收藏  举报
AmazingCounters.com