pytest-05-fixture之conftest.py配置文件

学习本篇是目的是自定义测试用例的预置条件

fixture对于setup和teardown的优势如下:

(1)命名方式灵活,不局限于setup和teardown这几个命名

(2)conftest.py配置里面可以实现数据共享,无需import导入,能自动找到一些配置

(3)scope="module"可以实现多个.py跨文件共享前置,每一个.py文件调用一次

(4)scope="session"以实现多个.py跨文件使用一个session来完成多个用例

pytest-05-fixture之conftest.py配置文件_第1张图片
同一个文件fixture参数传入
pytest-05-fixture之conftest.py配置文件_第2张图片

使用装饰器带参数或不带参数定义fixture,会在运行测试之前调用fixture

scop有四个级别参数 "function" (默认,针对函数有效), "class","module","session"

autouse默认false,需要参考激活fixture;如果为true,所有测试激活fixture func才能看到

name默认装饰函数名称,如果fixture在定义它的同一模块中使用,夹具的功能名称将被请求夹具的功能遮蔽

解决这个问题的一种方法是将装饰函数命名为:

  "fixture_ "然后使用"@ pytest.fixture(name ='')"

pytest-05-fixture之conftest.py配置文件_第3张图片

多个文件调用一个功能,使用conftest.py配置文件,来单独管理一些预置的操作场景,pytest默认读取配置文件里面的配置。

注意:

conftest.py 配置文件名称固定,不能修改

conftest.py 配置文件与运行的用例在一个pakage下,且包含__ini__.py文件

无需导入conftest.py ,pytest自动查找

pytest-05-fixture之conftest.py配置文件_第4张图片
创建pakage自动生成__ini__.py  文件
pytest-05-fixture之conftest.py配置文件_第5张图片
conftest.py配置文件
pytest-05-fixture之conftest.py配置文件_第6张图片
用例文件1
pytest-05-fixture之conftest.py配置文件_第7张图片
用例文件2

执行结果如下:

pytest-05-fixture之conftest.py配置文件_第8张图片
执行结果

你可能感兴趣的:(pytest-05-fixture之conftest.py配置文件)