1、Fixture装饰器的用途
- 做测试前后的初始化设置,如测试数据准备,链接数据库,打开浏览器等这些操作都可以使用Fixture来实现。
- 测试用例的前置条件可以使用Fixture实现,比直接使用Pytest框架的
setup()
和teardown()
函数更加灵活。 - Fixture是Pytest用于将测试前后进行预备,清理工作的代码分离出核心测试逻辑的一种机制!
- Fixture可以实现Unittest不能实现的功能,比如:Unittest中的测试用例和测试用例之间是无法传递参数和数据的,但是Fixture却可以解决这个问题。
2、Fixture参数说明
可以使用pytest.fixture()
查看fixture()
函数的源码和所需要的参数,同Fixture装饰器需要的参数一样。
fixture(scope="function", params=None, autouse=False, ids=None, name=None):
说明:
-
scope
:表示被@pytest.fixture()
装饰器所标识方法的作用域。作用域有四个级别,函数
function(默认)
,类class
,模块module
,包package/session
。说明:
function
作用域包含函数和方法。 -
params
:一个可选的参数列表,用于做Fixture的参数化。可将数据提供给其他的Fixture,或者所有测试使用它 。
-
autouse
:autouse