前言
- 1、官方文档:https://docs.pytest.org/en/latest/contents.html
- 2、我们在前面介绍了unittest框架,都知道unittest框架是python自带的单元测试框架。至于在我们可以使用unittest能够完成所有的单元测试,自动化测试等,那为什么还需要学习新的单测框架呢。肯定是技多不压身。多学对自己本身有帮助,对找工作有帮助。
1、pytest简介
pytest是一个非常成熟的全功能的Python测试框架,主要有以下几个特点:
- 简单灵活,容易上手
- 支持参数化
- 能够支持简单的单元测试和复杂的功能测试
- pytest具有很多第三方插件,并且可以自定义扩展
- 可以很好的和jenkins集成
- pytest可以结合allure生成report
- 可支持执行部分用例
- 等等
2、pytest安装
- 1、安装
pip install -U pytest
- 2、检验
pytest --version # 会展示当前已安装版本
- 3、查看pytest安装版本
pip show pytest
3、使用
# time :2021/2/4 16:22
# Author :Maynard
# test_01pytest.py
import pytest
class TestClass:
def test_pytestone(self):
print('断言成功')
assert "pass" == "pass"
def test_pytesttwo(self):
print('断言失败')
assert 'pass' == 'failure'
if __name__ == '__main__':
pytest.main()
4、运行
- 1、运行可以使用main函数进行运行
if __name__ == '__main__':
pytest.main()
- 2、也可使用命令行终端进行运行(推荐大家使用)
pytest -q test_01pytest.py
# -q/--quiet在本示例和以下示例中,该标志使输出保持简短
运行规则:查找当前目录及其子目录下以test_.py或_test.py文件,找到文件后,在文件中找到以test开头函数并执行。
5、结果
上述结果可以看出,一条用例成功,一条用例失败
6、pytest规则约束
- 1、测试文件必须以test开头或者以test结尾(test_* /*_test)
- 2、测试类必须以Test开头,并且不能带有__init__方法
- 3、测试函数也必须以test开头
- 4、断言与unittest框架里面的不一样,需要使用python自带原生的断言,assert
- 5、所有的包packege必须要有__init__.py文件
ps :
- 1、后续内容继续深入pytest的学习;
- 2、有什么问题,欢迎大家评论区评论交流!谢谢大家!
- 3、如果觉得博主这篇博客对大家有用,麻烦评论区留下自己的‘脚印’ !