pytest框架中实现软断言和硬断言

一、pytest硬断言 — assert

pytest中断言是通过assert语句实现的,确定预期值和实际值是否一致。使用比较简单,只需要 assert + 逻辑判断语句 即可。

注意:使用pytest进行断言判断的时候,为了用例的精准行,经常会多个方面进行断言,比如:
断言1:断言响应的http的状态
断言2:断言响应返回的code值
断言3:断言响应返回的json中的data字段是否符合预期

使用assert进行断言时,如果遇到一个断言失败,后面的断言就都不会被执行。

import pytest

def test_assert():
    print("----开始执行用例----")
    assert 1 == 2
    print("继续执行...")
    assert 2 == 2
    print("----执行完毕----")


if __name__ == '__main__':
    pytest.main(['-s', 'assert_test.py'])

执行结果:
pytest框架中实现软断言和硬断言_第1张图片

二、pytest软断言 — assume

当我们在用例中写多个断言,并且希望在某一个断言失败后,后面的所有断言都能继续执行完,这时候我们可以使用pytest-assume插件来解决这个问题。

下载安装

pip install pytest-assume

示例:

import pytest


def test_assume():
    print("\n----开始执行用例----")
    pytest.assume(1 == 2, '断言错误!实际与预期不符,请检查')
    print('继续执行...')
    pytest.assume(2 == 3, '断言错误!实际与预期不符,请检查')
    print("----执行完毕----")


if __name__ == '__main__':
    pytest.main(['-s', 'ass_test.py'])

执行结果:
pytest框架中实现软断言和硬断言_第2张图片
pytest框架中实现软断言和硬断言_第3张图片

三、其它方式断言

除了以上介绍的断言方式外,我们也可以使用第三方的断言库,比如hamcres来进行断言,hamcres的使用方式大家可以自行百度学习,自己多动手才能掌握的更深!!!

你可能感兴趣的:(软件测试基础,pytest,python)