学习本篇是目的是自定义测试用例的预置条件
fixture对于setup和teardown的优势如下:
(1)命名方式灵活,不局限于setup和teardown这几个命名
(2)conftest.py配置里面可以实现数据共享,无需import导入,能自动找到一些配置
(3)scope="module"可以实现多个.py跨文件共享前置,每一个.py文件调用一次
(4)scope="session"以实现多个.py跨文件使用一个session来完成多个用例
同一个文件fixture参数传入使用装饰器带参数或不带参数定义fixture,会在运行测试之前调用fixture
scop有四个级别参数 "function" (默认,针对函数有效), "class","module","session"
autouse默认false,需要参考激活fixture;如果为true,所有测试激活fixture func才能看到
name默认装饰函数名称,如果fixture在定义它的同一模块中使用,夹具的功能名称将被请求夹具的功能遮蔽;
解决这个问题的一种方法是将装饰函数命名为:
"fixture_ <fixturename>"然后使用"@ pytest.fixture(name ='<fixturename>')"
多个文件调用一个功能,使用conftest.py配置文件,来单独管理一些预置的操作场景,pytest默认读取配置文件里面的配置。
注意:
conftest.py 配置文件名称固定,不能修改
conftest.py 配置文件与运行的用例在一个pakage下,且包含__ini__.py文件
无需导入conftest.py ,pytest自动查找
创建pakage自动生成__ini__.py 文件 conftest.py配置文件 用例文件1 用例文件2执行结果如下:
执行结果
网友评论