pytest 怎么在一个文件中写共享数据
时间: 2024-02-05 12:11:28 浏览: 21
在 pytest 中,你可以使用 `pytest.fixture` 装饰器来定义共享数据。共享数据可以是一个变量、一个函数或者一个类的实例对象。
定义一个共享数据的示例代码如下:
```python
import pytest
@pytest.fixture(scope="module")
def my_data():
data = [1, 2, 3, 4, 5]
return data
```
这个例子中,我们定义了一个名为 `my_data` 的 fixture,并指定了它的作用域为 `module`。这意味着这个 fixture 只会在模块中被执行一次,并且可以在模块中的所有测试函数中使用。
接下来,我们可以在测试函数中使用这个 fixture:
```python
def test_my_data(my_data):
assert len(my_data) == 5
assert my_data[0] == 1
assert my_data[-1] == 5
```
在这个例子中,我们使用了 `my_data` 这个 fixture,并把它作为测试函数的一个参数传入。这样,我们就可以在测试函数中使用这个 fixture 返回的数据了。
需要注意的是,如果你想在一个文件中定义多个 fixture,每个 fixture 都应该有一个唯一的名称,并且可以设置不同的作用域。