Python在测试圈的应用非常广泛,特别是在自动化测试以及测试开发的领域,其中在自动化测试中我们常用的测试框架是uniitest和pytest,本文将带领大家搭建以及熟悉pytest的使用。
既然有unittest那么为什么还要用pytest呢?
这是因为pytest有以下的特点:
- 入门简单,文档丰富,而且文档中有很多实例参考
-
支持参数化,可以从教细的力度控制测试用例
-
能够支持简单的单元测试和复杂的功能测试
-
支持测试跳过,失败case标记
-
支持失败重试
-
支持由nose,unittest编写的测试用例
-
支持HTML报告
-
和jenkins持续集成很方便
-
具有很多第三方插件,并且可以自定义扩展
01 安装pytest
cmd或者终端运行
查看版本
快速体验一把
在pycharm里的Terminal直接执行
在这里必须提醒大家注意pytest的执行规则,规则是这样的:
-
考如果直接敲pytest执行,则会查找当前目录及其子目录下以 test_*.py 或 *_test.py 文件,找到文件后,在文件中找到以test 开头函数并执行
-
如果只想执行某个py文件,则使用pytest xxx.py
02 pytest测试用例设计原则
用pytest写用例时,需要遵循以下的规则,才能够被识别并执行:
-
文件名必须以*_test.py或者test_*.py命名
-
测试函数必须以test开头
-
测试类必须以Test开头,并且不能包含__init__方法
-
测试类里以test_开头的方法
-
所有的包必须要有__init__.py文件
03 pytest执行用例规则
1、执行某个目录下所有的用例
在first这个目录下执行pytest命令,则会找该目录下的符合pytest用例规则的所有用例并执行
2、单独执行某个py文件
执行pyteststudy.py这个文件中符合pytest用例规则的所有用例,而该文件并不需要遵循pytest对于文件的命名规则
3、执行某个py文件里的某个函数
或者某个类,再或者某个类里的某个方法执行pyteststudy.py里的test_add方法
执行pyteststudy.py里的TestCase这个类
执行pyteststudy.py里的TestCase这个类下的test_one方法
4、-s 参数
表示详细打印,可以把脚本中print的信息展示在结果上
04 Pycharm运行Pytest
当然以上执行貌似都是在命令行中进行操作的,那么我们使用pycharm能不能像运行普通代码右键run呢,这就需要一定的设置了
设置步骤如下:
-
点开File --> Settings
-
在settings弹框中输入integrated 搜索
-
修改default test runner为pytest
然后在脚本中右键