感谢大家关注,帮忙分享呦,你们的阅读就是我的动力!!!
公众号:小李测试随笔
第六章 应用pytest测试框架(6.5章节-断言)
6.5 使用assert原生断言
断言是接口自动化测试的最终目的,一个接口用例如果没有断言,就失去了自动化测试的意义。pytest测试框架中使用python的原生关键字assert进行断言,断言的过程就是将接口测试的实际结果与预期结果进行比对,如果发现一致,则表明测试用例执行通过;如果发现不一致,则表明测试用例执行不通过。在接口自动化中,常用的断言方法有5种,具体如下。
---assert x:断言x为真
---assert not x:断言x不为真
---assert x in y:断言y包含x
---assert x==y:断言x等于y
---assert x !=y:断言x不等于y
接下来我们一一尝试
1)断言x为真
import pytest #定义整型变量 x = 1 #定义一个测试用例 def test_int_001(): #断言X是否为真 assert x if __name__ == '__main__': '''运行方式,直接在文件内执行以下命令 其中,-v参数显示命令执行过程,-s参数显示打印的信息 如不加-s参数,则print()函数打印的信息不会显示''' pytest.main(['-s','-v','【例 6-8】 断言 x 为真.py'])
结果
2)断言x不为真
import pytest #定义整型变量 x = 0 #定义一个测试用例 def test_int_002(): #断言X是否为真 assert not x if __name__ == '__main__': '''运行方式,直接在文件内执行以下命令 其中,-v参数显示命令执行过程,-s参数显示打印的信息 如不加-s参数,则print()函数打印的信息不会显示''' pytest.main(['-s','-v','【例 6-8】 断言 x 为真.py'])
运行结果
3)断言y包含x
import pytest x = 'th' y = 'python' #定义第一个测试用例 def test_str_001(): #断言y是否包含x assert x in y #定义第二个测试用例 def test_str_002(): #断言x是否包含y assert y in x if __name__ == '__main__': '''运行方式,直接在文件内执行以下命令 其中,-v参数显示命令执行过程,-s参数显示打印的信息 如不加-s参数,则print()函数打印的信息不会显示''' pytest.main(['-s','-v','【例 6-10】 断言 y 包含 x.py'])
运行结果
4)断言x等于y
import pytest #定义三个字符串变量 x = 'python' y = 'python' z = 'java' #定义第一个测试用例 def test_str_001(): #断言x是否等于y assert x==y #定义第二个测试用例 def test_str_002(): #断言x是否等于z assert x==z if __name__ == '__main__': '''运行方式,直接在文件内执行以下命令 其中,-v参数显示命令执行过程,-s参数显示打印的信息 如不加-s参数,则print()函数打印的信息不会显示''' pytest.main(['-s','-v','【例 6-11】 断言 x 等于 y.py'])
运行结果
5)断言x不等于y
import pytest #定义三个字符串变量 x = 'python' y = 'python' z = 'java' #定义第一个测试用例 def test_str_001(): #断言x是否不等于y assert x!=y #定义第二个测试用例 def test_str_002(): #断言x是否不等于z assert x!=z if __name__ == '__main__': '''运行方式,直接在文件内执行以下命令 其中,-v参数显示命令执行过程,-s参数显示打印的信息 如不加-s参数,则print()函数打印的信息不会显示''' pytest.main(['-s','-v','【例 6-12】 断言 x 不等于 y.py'])
运行结果
END