Pytest基本介绍
一、Pytest 框架基本介绍
- 定义: pytest 是一款第三方的 Python 单元测试框架,和之前 unitest 框架类似,但是要显示更加简洁和好用!
- 作用:使用 pytest 我们可以自动化的执行 py 文件中的对应单元模块,还可以实现 参数化、跳过、标记预期等功能,而且可以通过安装插件进行功能的扩展。
二、Pytest 框架安装和基本使用
-
安装过程:
- 可以通过 pip 命令直接在线安装 pip install -U pytest
- 安装成功之后可以验证是否成功 pytest --version
-
基本使用步骤:
- 在 python 项目下新建 python 脚本,此时脚本需要是 test_.py 的格式
- 在该 python 脚本中新建 Test开头的类文件
- 在该类中定义 test_ 开头的方法,然后在该方法中书写测试脚本
- 然后在当前整个 py 文件中导入 pytest 包,然扣执行 pytest.main( ) 语句
三、Pytest 框架使用细节
- pytest 框架安装完成之后就相当于在我们的电脑上新建了 “一款软件”, 凡是软件应用都会有一个启动的方式,而 pytest 命令就相当于是该框架的启动方式,我们可以在不同的地方去执行这个启动方式,例如直接在当前的脚本中。
- pytest 默认会去查找当前项目下所有的以 test 打头的 py 文件,然后去完成执行 【可以自定义】
- pytest 默认会查找 py 文件中的 Test 打头的类,去该类下查找 test 打头的方法 【可以自定义】
- pytest 执行测试脚本的方式有多种,pytest.main() 是和 unitest 很像的一种方式,可以直接写在当前的 py 文件中,但是效率显示有些低下。
- pytest 框架执行测试脚本之后会有多种不同的结果,常见的符号会有 . 、F 、E、R、S等
Pytest配置文件
pytest 配置文件内容
【在windows里定义 pytest.ini 文件的时候千万不要定任何的中文字符】
[pytest]
addopts = -s # 添加执行 pytest 时需要携带的参数
testpaths = ./ # 定义 pytest 将要查询的脚本所在目录
python_files = test_*.py # 定义 pytest 将要执行的脚本命令规则
python_classes = Test* # 定义 pytest 将要执行的类名
python_functions = test_* # 定义 pytest 将要执行的功能名称
注意:
01 在windows下定义 pytest.ini 文件的时候一定要注意不能书写中文,上述展示是为了说明参数含义
02 具体配置的属性值是可以自定义的,只是我们习惯性的使用 test 字眼来表示测试
pytest.ini 文件使用步骤
- 新建一个 python 项目,在当前项目的根目录下定义一个 pytest.ini 文件。然后写入具体的配置文件内容
- 在当前项目的根目录下新建一个 script 包,用来存放我们的测试脚本【 script 是可以自定义的包名 】
- 在 script 包里新建 test_ 规则的 py文件 ,类 ,方法,在方法里完成具体代码的书写
- 在 pycharm 的自带命令行中输入 pytest 命令 ,然后回车执行
代码示例
# -*- coding=utf-8 -*-
class TestDemo:
def test_fn1(self):
print( "测试 pytest.ini 文件" )
当前 pytest.ini 文件
[pytest]
addopts = -s
testpaths = ./script
python_files = test_*.py
python_classes = Test*
python_functions = test_*