pytest是啥?
pytest是python的一个单元测试框架,与python自带的unittest测试框架类似
pytest有啥用?
既然和python自带的unittest测试框架类似为啥还要学呢?为啥呢?X格高呗还能咋滴。
认真讲。。。pytest还是有些优点值得一学
- 支持参数化parameterize
- 支持指定用例执行—skip
- 强大无比的fixture,也是该框架的核心功能
- 支持testcase失败重复执行
- 支持第三方插件扩展,例如allure2生成领导喜欢看的报告
众所周知,UI自动化项目运行过程中,比较容易遇到的棘手问题有:
同一条用例需要参数化执行,或者导入SCV数据文件;
基于不同的环境,例如测试环境或者线上环境所需要执行的用例不同;
用例在非bug因素下执行失败的场景下需要重新执行。等等诸如此类的问题,pytest都让替你分忧
下面就让我们一起深入了解pytest的世界吧
pytest你不得不知的知识一——-运行规则
pytest运行规则:
所有package包必须要有init.py文件
文件名以testXXX.py 或者 *_test.py命名
文件中以Test开头的class
文件中以test开头的function
pytest只会运行符合以上全部条件的测试用例!!!
pytest你不得不知的知识二——-创建用例规则
测试文件名以testXXX.py 或者 *test.py命名
测试类以Test开头,且不能带_init方法
测试函数以test开头
断言使用assert