pytest中可以用python的assert断言,也可以写多个断言,但一个失败,后面的断言将不再执行。使用插件pytest-assume可以解决这个问题。
1. 安装
# 安装
pip3 install pytest-assume
2. 测试用例demo
import pytest
class TestAssertAssume:
# 第3个断言失败后下面的代码仍会被执行
def test_assume(self):
pytest.assume(1 + 1 == 2)
pytest.assume(1 + 2 == 3)
pytest.assume(1 + 3 == 5)
pytest.assume(1 + 4 == 5)
print("执行完成2")
3. 运行结果
执行步骤2中的测试方法,可以看到该用例执行到 1+3 时断言失败,但后面的脚本依旧能被执行下去。如果使用assert模块断言的话,执行到 1+3 断言失败那后面的脚本是不会继续执行的。这就是二者的区别。