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