前言:介绍一下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等待安装完成。
二、命名规范
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支持自动检测了,老版的话就要自己选了)如图:
3.2 命令行运行(包含常用命令参数)
在python文件中右键点击Open In,选择Terminal,会在下面打开控制台,在其中输入命令即可执行,如图:pytest 文件名.py 执行该文件中所有测试方法
tips:输文件名的时候可使用tab键。
常用命令行及参数(参数在文件名前后不影响):
- pytest 执行全部当前路径下的所有测试
- Tips: 如果在pytest.ini文件中已经指定了路径或相关的内容,执行命令pytest会先去检查pytest.ini文件中有没有约束限制,即所有执行方法都要受到ini文件的参数设置的约束。
- pytest 文件名.py
- pytest ./路径名称
- pytest ./路径/文件名.py::类名/函数名
- -s
- -v
- -m ”标记“ 说明:执行特定的测试用例。
- 例如测试方法上面加了@pytest.mark.smoke
- pytest -m smoke 只执行带标签的方法
- -vs
- -k 可以执行指定路径下含有“关键字内容”的所有文件或类或方法:pytest ./路径名称 -k "关键字"
- 但是pytest.ini文件的指定名称只能支持前缀:xxx*
- -x
- --maxfail=num
- --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