• Pytest学习6-跳过或xfail失败的用例


    Skip跳过用例

    跳过(Skip)指,你希望如果某些条件得到满足你的测试用例才执行,否则Pytest应该完全跳过运行该用例
    1.  跳过测试用例的最简单方法是使用skip装饰器标记它,可以传递一个可选的原因reason参数:
    @pytest.mark.skip(reason="目前无法执行该用例")
    def test_skip_2():
        print("该用例不执行")
    2.也可以在用例执行前进行某些前置条件检查,例如检查预期前置条件是否满足,比较值等
    def test_skip_3():
    if 3>2:
        pytest.skip(",前置条件不满足,不执行该用例")
    print("执行该用例1")
    3.如果你希望特定条件地跳过某些用例,则可以使用skipif。下面的示例演示了,当Python版本小于3.6时跳过测试用例。
    @pytest.mark.skipif(sys.version_info<(3,6),reason="需要Python3.6版本以上")
    def test_function():
    ...
    

    Xfail失败用例

    xFail:将测试函数标记为预期失败
    1.可以直接标记用例失败,也可以传递失败原因reason参数,例如:
    @pytest.mark.xfail(reason="用例失败")
    def test_xfail_2():
        print("标记该用例失败")
    2.也可以判断条件后决定是否失败,例如有个登录1,登录1成功后执行步骤2、步骤3,如果登录1失败,则步骤2、步骤3失败,代码如下:
    @pytest.fixture()
    def login():
        return True
    def test_bu_1(login):
        if not login:
            pytest.xfail()
        print("步骤1执行")
    def test_bu_2(login):
        if login:
            pytest.xfail()
        print("步骤2执行")
    3.与skipif一样,你也可以在特定平台上标记你对失败的期望:
    @pytest.mark.xfail(sys.version_info >= (3,6),reason="Python3.6 API变更")
    def test_function():
    ...
  • 相关阅读:
    后台java,前台extjs文件下载
    gridPanel可拖拽排序
    Extjs 获取输入框焦点,并选中值
    java poi对Excel文件加密
    java poi 读取有密码加密的Excel文件
    SSL 与 数字证书 的基本概念和工作原理
    splay树
    树剖版lca
    树链剖分
    kruskal重构树
  • 原文地址:https://www.cnblogs.com/qixc/p/12168657.html
Copyright © 2020-2023  润新知