1. 使用 pytest.assume 进行多重断言

pytest.assume 允许在测试中使用多个断言,而这些断言不会阻止测试继续执行。如果某个断言失败,它不会直接导致测试失败,而是将失败的断言保留下来,最终报告所有失败。

import pytest

def test_multiple_assumptions():
    pytest.assume(1 == 1, "第一次断言失败")
    pytest.assume(2 == 3, "第二次断言失败")
    pytest.assume(3 == 3, "第三次断言失败")

在这个示例中,test_multiple_assumptions 测试会继续执行所有断言,即使第二个断言失败,第三个断言仍然会执行。最后,pytest 会显示所有断言失败的详细信息。

2.运行测试

运行上述测试时,pytest 会在测试结束后报告所有失败的断言。可以运行以下命令:

pytest -v test_example.py