前言:介绍一下pytest框架的安装方式,命名规则及三种运行方式,常用命令参数,前置、后置方法

目录

一、pytest安装

1.1 命令行方式

1.2 pycharm添加

二、命名规范

2.1 创建pytest文件

2.2 创建测试类

2.3 创建测试方法

三、运行方式

3.1 pycharm运行

 3.2 命令行运行(包含常用命令参数)

3.3 main方法运行

四、前置方法及后置方法

4.1 前置方法

4.2 后置方法


一、pytest安装

1.1 命令行方式

用管理员权限打开cmd窗口,执行命令:pip install pytest

1.2 pycharm添加

在pycharm中点击File-->settings-->Project-->Python Interpreter-->点击+号-->搜索pytest-->最后点击Install Package等待安装完成。

python中怎么使用pytest pytest方法_文件名

二、命名规范

python中怎么使用pytest pytest方法_文件名_02

2.1 创建pytest文件

测试用例文件命名必须以 test_开头或者以_test结尾。

2.2 创建测试类

测试类命名必须以Test开头。
tips: 测试类的不应该有构造函数。可创建不同文件夹去放置:测试用例文件,测试函数。

2.3 创建测试方法

  • 测试方法必须以test_开头,否则pytest无法识别
  • 测试方法执行顺序:遵循ascii码的顺序,建议取test_01,test_02.

三、运行方式

3.1 pycharm运行

直接在python文件中右键点击run执行。

注意点:

  • pytest框架会按照鼠标光标放置位置执行相应测试方法,如果要执行当前类中所有方法,需要将光标放在类名那一行。
  • pycharm会自动识别是pytest框架运行,如果不是的话可更改pycharm默认执行方式,点击File-->settings-->Tools-->Python integrated Tools-->Testing-->选择要使用的Default test runner(最新版的pycharm支持自动检测了,老版的话就要自己选了)如图:

python中怎么使用pytest pytest方法_pytest_03

 3.2 命令行运行(包含常用命令参数)

在python文件中右键点击Open In,选择Terminal,会在下面打开控制台,在其中输入命令即可执行,如图:pytest 文件名.py 执行该文件中所有测试方法

tips:输文件名的时候可使用tab键。

python中怎么使用pytest pytest方法_文件名_04

常用命令行及参数(参数在文件名前后不影响):

  1. pytest    执行全部当前路径下的所有测试
  1. Tips: 如果在pytest.ini文件中已经指定了路径或相关的内容,执行命令pytest会先去检查pytest.ini文件中有没有约束限制,即所有执行方法都要受到ini文件的参数设置的约束。
  1. pytest 文件名.py
  2. pytest ./路径名称
  3. pytest ./路径/文件名.py::类名/函数名
  4. -s
  5. -v
  6. -m    ”标记“ 说明:执行特定的测试用例。
  1. 例如测试方法上面加了@pytest.mark.smoke
  2. pytest -m smoke 只执行带标签的方法
  1. -vs
  2. -k   可以执行指定路径下含有“关键字内容”的所有文件或类或方法:pytest ./路径名称 -k "关键字"
  1. 但是pytest.ini文件的指定名称只能支持前缀:xxx*
  1. -x
  2. --maxfail=num
  3. --help

3.3 main方法运行

与命令行的语法类似

实例:注意括号,方括号的使用

if __name__ == '__main__':

    pytest.main(['文件名.py','-s','-v'])

四、前置方法及后置方法

4.1 前置方法

前置方法是每个测试方法开始前都需要进行的处理方法,分为四类

  • setup_function:只对普通方法有效
  • setup_method:只对类内部的方法有效
  • setup_class:只对类有效,并且要放在类内部
  • setup_method:对py文件有效

4.2 后置方法

每个测试方法执行后,要完成一些回收工作,和setup对应

  • teardown_function
  • teardown_method
  • teardown_class
  • teardown_method