前言
pytest使用assert来做断言,但是assert断言是一旦遇到断言失败的测试用例后,后面的代码就不会再执行了。但有的时候我们经常会在用例中写多个断言,并且希望在第一个断言失败后,后面的所有的断言都能继续执行完,这就需要用到 pytest-assume 插件来解决。
assert硬断言(第一个断言失败后,后续代码不再执行)
# file_name: test_assume.py import pytest def test_assume_01(): print("\n-----测试用例开始执行-----") assert 1 == 2 assert 2 == 2 print("-----测试用例执行结束了-----") if __name__ == '__main__': pytest.main(['-s', 'test_assume.py'])
运行结果:
从运行结果中可以看到执行到assert 1 == 2 的时候断言失败了,后面的代码就没有执行了。
assume软断言(第一个断言失败后,后续代码会继续运行)
使用 pytest.assume() 断言:
# file_name: test_assume.py import pytest def test_assume_01(): print("\n-----测试用例开始执行-----") pytest.assume(1 == 2) pytest.assume(2 == 2) print("-----测试用例执行结束了-----") if __name__ == '__main__': pytest.main(['-s', 'test_assume.py'])
运行结果:
从运行结果中可以看到,断言在 pytest.assume(1 == 2) 时失败了,但是后面的代码也执行了。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。