一、概述
- 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 统一在测试结果中显示所有失败的断言,方便开发人员一次性修复所有问题。
五、结束语
“-------怕什么真理无穷,进一寸有一寸的欢喜。”
微信公众号搜索:饺子泡牛奶。