首页 > 其他 > 详细

pytest的软断言-断言失败后仍然执行后续代码(插件:pytest-assume)

时间:2021-02-28 21:58:14      阅读:212      评论:0      收藏:0      [点我收藏+]

  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) 时失败了,但是后面的代码也执行了。

pytest的软断言-断言失败后仍然执行后续代码(插件:pytest-assume)

原文:https://www.cnblogs.com/lwjnicole/p/14460393.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!