• pytest扫盲16--某个用例失败后,关联的用例标记为xfail


    设计思路:设计用例时,如果用例执行失败,则标记 xfail,所有引用该用例的其他用例,均调用该 xfail 标记

    示例:

    # File  : test_demo_16.py
    # IDE   : PyCharm
    
    import pytest
    
    @pytest.fixture(params=[{'user': 'admin', 'pwd': '1234'}])
    def login(request):
        '''前置条件登录'''
        print("
    正在操作登录,账号:%s, 密码:%s" % (request.param['user'], request.param['pwd']))
        if request.param['pwd'] == '123456':
            print('登录成功')
            return True
        else:
            print('登录失败')
            pytest.xfail(reason='登录失败,标记为xfail')
            return False
    
    class TestLogin:
        def test_1(self, login):
            assert 5 > 6
    
        def test_2(self, login):
            assert 'h' in 'hello'
    
        def test_3(self):
            assert 3 is 3

    当前置条件执行失败时,执行结果:

    E:personalpython38python.exe E:/personal/GitWorkSpace/pytest_basic/main.py
    test_demo_16.py::TestLogin::test_1[login0]
    test_demo_16.py::TestLogin::test_2[login0]
    test_demo_16.py::TestLogin::test_3
    
    正在操作登录,账号:admin, 密码:1234
    登录失败
    x
    正在操作登录,账号:admin, 密码:1234
    登录失败
    x.
    1 passed, 2 xfailed in 0.11s
    
    Process finished with exit code 0

    当前置条件执行成功时,执行结果:

    E:personalpython38python.exe E:/personal/GitWorkSpace/pytest_basic/main.py
    test_demo_16.py::TestLogin::test_1[login0]
    test_demo_16.py::TestLogin::test_2[login0]
    test_demo_16.py::TestLogin::test_3
    
    正在操作登录,账号:admin, 密码:123456
    登录成功
    F
    正在操作登录,账号:admin, 密码:123456
    登录成功
    ..
    ================================== FAILURES ===================================
    __________________________ TestLogin.test_1[login0] ___________________________
    
    self = <pytest_basic.test_demo_16.TestLogin object at 0x000000B010FF80A0>
    login = True
    
        def test_1(self, login):
    >       assert 5 > 6
    E       assert 5 > 6
    
    test_demo_16.py:24: AssertionError
    =========================== short test summary info ===========================
    FAILED test_demo_16.py::TestLogin::test_1[login0] - assert 5 > 6
    1 failed, 2 passed in 0.13s
    
    Process finished with exit code 0
  • 相关阅读:
    POJ3189 Steady Cow Assignment(二分图多重匹配)
    POJ2112 Optimal Milking(二分图多重匹配)
    POJ2289 Jamie's Contact Groups(二分图多重匹配)
    安装jhipster
    AngularJS版本下载
    业务平台技术架构一些注意事项
    反向数据库表
    近期需要关注的内容
    一些不太常见但很有用的java类
    文件复制
  • 原文地址:https://www.cnblogs.com/xiaohuboke/p/13541894.html
Copyright © 2020-2023  润新知