pytest框架学习-测试用例发现机制以及用例执行命令

pytest是什么

pytest是python的一种单元测试框架,与python自带的unittest测试框架类似,但是比unittest框架使用起来更简洁,效率更高。

Pytest安装

安装命令:

pip install -U pytest --index-url https://mirrors.aliyun.com/pypi/simple/

升级:

pip install --upgrade pytest --index-url https://mirrors.aliyun.com/pypi/simple/

查看已安装的pytest版本:

pip show pytest 或 pytest --version

Pytest的默认测试发现机制

PyTest有一个特别的设计,叫作测试用例自动发现(Test Discovery)机制,允许我们不指定具体的测试用例源文件,而是根据一些命名规则去自动发现测试用例源文件,以及在源文件中筛选待执行的测试函数。

测试文件:

PyTest默认从当前路径及其所有子目录中搜索py源文件,所有名字以test_开头或者以_test结尾的python源文件(.py文件)被认为是测试模块源文件,不符合这个命名规则的文件会被忽略。

测试类:

以Test*开头,并且不能带有_init_方法

测试函数:

在测试模块源文件中,所有以“test”(注意是test,不是test_)开头的函数被PyTest认为是测试函数而被执行,不符合这个条件的函数会被忽略。

Pytest用例执行

(1)命令执行

在命令行进入到对应测试模块所在的目录,执行pytest命令,就可以开始执行用例。

执行pytest命令时可带参数,常用参数选项:

-s:显示程序中的 print/logging 输出

-v: 丰富信息模式, 输出更详细的用例执行信息

-k:运行包含某个字符串的测试用例。

-q: 简单输出模式, 不输出环境信息,只输出测试用例的执行结果

-x: 出现一条测试用例失败就退出测试。

pytest -s

pytest -v

pytest -k “normal”

pytest -q

pytest -x

使用pycharm执行

Pycharm配置,选择自动或者pytest

Pytest的测试发现机制可自定义

在项目根目录新建pytest.ini的文件,新增内容如下

修改为:

测试文件:

以demo_开头

测试类:

以Demo开头,并且不能带有_init_方法。

测试函数:

以demo开头

 

posted @ 2022-12-28 22:52  努力工作,早日退休  阅读(9736)  评论(0编辑  收藏  举报