pytest中设置夹具
时间: 2023-11-08 07:59:56 浏览: 90
在pytest中,可以使用fixture来设置夹具。夹具(fixture)是一种在测试用例之前或之后执行的代码块,用于为测试用例提供必要的环境或数据。夹具可以在单个测试函数、测试类、模块或整个项目中共享。
具体设置夹具的步骤如下:
1. 在conftest.py文件中定义夹具函数。可以定义多个夹具函数,每个函数返回一个值或对象,供测试用例使用。
2. 在测试函数、测试类或测试模块中使用@pytest.mark.usefixtures装饰器来声明使用特定夹具。使用该装饰器后,测试函数或测试类将自动调用与装饰器中指定的夹具函数关联的代码块。
举个例子,假设我们在conftest.py文件中定义了一个名为"init_demo"的夹具函数,可以在测试函数或测试类中使用它:
在conftest.py文件中:
```python
import pytest
@pytest.fixture
def init_demo():
# 此处可以编写夹具的代码,比如初始化数据库、启动应用程序等
# 返回值可以是任何需要共享给测试用例的对象
return "demo data"
```
在测试函数中使用夹具:
```python
import pytest
@pytest.mark.usefixtures('init_demo')
def test_add_02():
# 测试用例代码
assert 1 + 2 == 3
```
在上面的例子中,test_add_02函数使用了init_demo夹具。在运行测试时,pytest会自动查找并调用conftest.py中定义的init_demo夹具函数,并将其返回值传递给test_add_02函数。
阅读全文