pytest教程-24-多重断言插件-pytest-assume

领取资料,咨询答疑,请➕wei:  June__Go

上一小节我们学习了pytest指定用例执行顺序插件pytest-ordering,本小节我们讲解一下pytest多重断言插件-pytest-assume。

在自动化测试过程中,我们执行完用例之后,需要验证脚本执行的结果和预期的结果是否一致,来达到断言测试用例是否执行成功。一般情况下我们常用的断言方式是assert + 布尔型/表达式形式,但是这种形式的断言不通过则用例会直接停止,该条用例直接结束,哪怕后面还有代码也不会执行。

那么,怎么才能让用例完整的执行完再判断成功与否呢?pytest-assume帮我们解决了这一问题。我们也可以给一条用例设置多个断言,哪怕第一个断言失败,后面的断言依然执行判断。

安装插件

pip install pytest-assume

使用方法

语法

pytest.assume(布尔型/表达式)

代码示例:

import pytest

class TestCase():

    def test_01(self):
        print("---用例1执行---")
        assert False,"用例1-第一次断言"
        assert False,"用例1-第二次断言"


    def test_02(self):
        print("---用例2执行---")
        pytest.assume(False,"用例2-第一次断言")
        pytest.assume(False,"用例2-第二次断言")

运行结果:

============================= test session starts ==============================
collecting ... collected 2 items

test_demo.py::TestCase::test_01 FAILED                                   [ 50%]---用例1执行---

test_demo.py:4 (TestCase.test_01)
self = <test_demo.TestCase object at 0x10ec5d250>

    def test_01(self):
print("---用例1执行---")
>       assert False,"用例1-第一次断言"
E       AssertionError: 用例1-第一次断言
E       assert False

test_demo.py:7: AssertionError



test_demo.py::TestCase::test_02 FAILED                                   [100%]---用例2执行---

test_demo.py:10 (TestCase.test_02)
tp = <class 'pytest_assume.plugin.FailedAssumption'>, value = None, tb = None

def reraise(tp, value, tb=None):
    try:
        if value is None:
            value = tp()
        if value.__traceback__ is not tb:
            >               raise value.with_traceback(tb)
E               pytest_assume.plugin.FailedAssumption: 
E               2 Failed Assumptions:
E               
E               test_demo.py:13: AssumptionFailure
E               >>	pytest.assume(False,"用例2-第一次断言")
E               AssertionError: 用例2-第一次断言
E               assert False
E               
E               test_demo.py:14: AssumptionFailure
E               >>	pytest.assume(False,"用例2-第二次断言")
E               AssertionError: 用例2-第二次断言
E               assert False

../../Library/Python/3.9/lib/python/site-packages/six.py:718: FailedAssumption




============================== 2 failed in 0.05s ===============================

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走,希望可以帮助到大家!领取资料,咨询答疑,请➕wei:  June__Go

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值