zoukankan      html  css  js  c++  java
  • 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():
    ...
  • 相关阅读:
    N个数求和(PTA)
    集合相似度(PTA)
    方格取数(1)(状压dp入门)
    Drainage Ditches(dinic模板)
    The Accomodation of Students(二分图判断+匈牙利算法)
    Gopher II(匈牙利算法模板)
    Apple Tree(树状数组)
    node.js中的文件系统
    canvas简易画板
    canvas绘制爱心的几种方法
  • 原文地址:https://www.cnblogs.com/qixc/p/12168657.html
Copyright © 2011-2022 走看看