前言
- 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
总共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、如果觉得博主这篇博客对大家有用,麻烦评论区留下自己的‘脚印’ !