pytest篇3-断言详解

前言

  • 1、上一篇pytest篇博客我们介绍了pytest的运行和用例的运行规则,今天准备分享一下pytest的断言。
  • 2、断言是用例中必不可少的一步骤,不然就缺失了自动化的意义。

1、pytest断言

在unitest单元测试框架中提供了丰富的断言方法,如assertEqual()、assertIn()、assertTrue()、assertIs()等。unittest断言详解可见我另外博客(链接)。pytest单元测试框架并没有提供专门的断言方法,而是直接使用Python的assert进行断言。

方法 描述
assert a==b a、b是否相等
assert a!=b a、b是否不相等
assert a<=b a是否小于等于b
assert a>=b a是否大于等于b
assert a in b b是否包含a
assert a not in b b是否不包含a
assert a 判断a是否为True
assert a is True 判断a是否为True
assert not a 判断a是否不为True
assert a is not True 判断是否不为True
assert a is Flase 判断是否为Flase

2、实例

# time :2021/2/7 15:18
# Author :Maynard


# 1、a是否等于b
def test_assert_01():
    a = 1
    b = 2
    assert a == b

# 2、a是否不等于b
def test_assert_02():
    a = 1
    b = 2
    assert a != b

# 3、a是否小于等于b
def test_assert_03():
    a = 1
    b = 2
    assert a <= b

# 4、a是否大于等于b
def test_assert_04():
    a = 1
    b = 2
    assert a >= b
# 5、b 是否包含a
def test_assert_05():
    a = 1
    b = (1,2)
    assert a in b

# 6、b是否不包含a
def test_assert_06():
    a = 1
    b = (1,2)
    assert a not in b

# 7、判断a是否为True
def test_assert_07():
    a = 1
    assert a

# 8、判断a是否为True
def test_assert_08():
    a = 1
    assert a is True

# 9、判断a是否不为True
def test_assert_09():
    a = 1
    assert not a

# 10、判断a是否不为True
def test_assert_10():
    a = 1
    assert a is not True

# 11、判断是否为Flase
def test_assert_11():
    a =1
    assert a is False

3、结果

运行命令

pytest test_04assert.py

pytest篇3-断言详解_第1张图片
总共11条case,六条不通过,五条通过

4、加断言注释

可以在assert断言后面,加一个说明注释。报错是会同样打印出来

def test_assert_01():
    a = 1
    b = 2
    assert a == b ,'a是否等于b'

5、总结

  • 1、pytest断言使用的是python自带的断言库;
  • 2、pytest断言借助python的运算符号和关键字即可轻松实现不同数据类型的断言;
  • 3、unittest断言和pytest的断言不能混用。unittest的断言只能适用于框架本身之内;

ps :

1、后续内容继续深入pytest的学习;
2、有什么问题,欢迎大家评论区评论交流!谢谢大家!
3、如果觉得博主这篇博客对大家有用,麻烦评论区留下自己的‘脚印’ !

你可能感兴趣的:(pytest,python)