pytest框架笔记(三) : fixture之conftest.py

一、fixture优势

1、fixture相对于setup和teardown来说应该有以下几点优势:

  • 命名方式灵活,不局限于setup和teardown这几个命名
  • conftest.py配置里可以实现数据共享,不需要import就能自动找到一些配置
  • scope="module"可以实现多个.py跨文件共享前置
  • scope="session"以实现多个.py跨文件使用一个session来完成多个用例

2、使用装饰器标记fixture的功能

fixture(scope="function",params=None,autouse=False,ids=None,name=None)

可以使用此装饰器(带或不带参数)来定义fixture功能。fixture功能的名称可以在以后使用,引用它会在运行测试之前调用它:

  • test模块或类可以使用pytest.mark.usefixtures(fixturename)标记
  • 测试功能可以直接使用fixture名称作为输入参数,在这种情况下,夹具实例从fixture返回功能将被注入

二、fixture参数介绍

fixture(scope="function",params=None,autouse=False,ids=None,name=None)

1、scope

scope参数有四个级别参数:"function"(默认)、"class"、"module"、"session"

2、params

一个可选的参数列表,它将导致多个参数调用fixture功能和所有测试使用它

3、autouse

如果为True,则为所有测试激活fixture func 可以看到它

如果为False(默认值),则显式需要参考来激活fixture

你可能感兴趣的:(pytest)