多重断言插件

发布时间:2024年01月20日

一、概述

  • pytest-assume 是一个 pytest 插件,它提供了一种在测试中使用多个断言的机制。
  • 与传统的 assert 断言不同,pytest-assume 允许在测试中进行多个独立的断言,并且在测试失败时继续执行后续的断言,而不会中断整个测试用例。

二、安装

  • 使用阿里云镜像源安装
pip3 install pytest-assume -i https://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com

三、使用 assert 断言

传统的 assert 断言一旦失败,只会显示一个错误消息,并且中断测试用例的执行。

  • 代码示例
def test_example():
    assert 1 + 1 == 2
    assert 2 + 2 == 4
    assert 3 + 3 == 5
    assert 4 + 4 == 8
    assert 5 + 5 == 11
    print("test completed!")

    # (3 + 3) 断言失败后,(4 + 4)、(5 + 5) 的断言不再执行。
    #
    # def test_example():
    #         assert 1 + 1 == 2
    #         assert 2 + 2 == 4
    # >       assert 3 + 3 == 5
    # E       assert (3 + 3) == 5
    # AssertionError

四、使用 pytest-assume 断言

pytest-assume 提供了更详细的测试报告,它会显示每个断言的结果,包括成功的和失败的断言。这样可以提供更全面的测试结果信息。

  • 代码示例
import pytest


def test_example():
    pytest.assume(1 + 1 == 2)
    pytest.assume(2 + 2 == 4)
    pytest.assume(3 + 3 == 5)
    pytest.assume(4 + 4 == 8)
    pytest.assume(5 + 5 == 11)
    print("test completed!")
	
    # 所有的断言都被执行了。
    #
    # test completed!
    # E               >>	pytest.assume(3 + 3 == 5)
    # E               AssertionError: assert False
    # E
    # E               >>	pytest.assume(5 + 5 == 11)
    # E               AssertionError: assert False

  • pytest-assume 统一在测试结果中显示所有失败的断言,方便开发人员一次性修复所有问题。

五、结束语


“-------怕什么真理无穷,进一寸有一寸的欢喜。”

微信公众号搜索:饺子泡牛奶

文章来源:https://blog.csdn.net/weixin_48776531/article/details/135710345
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。