想要在@pytest.fixture(scope='function', autouse=True)这个语句中加入参数该怎么做
时间: 2024-03-03 11:47:39 浏览: 228
在 `@pytest.fixture` 的括号中加入参数,可以通过以下两种方式实现:
1. 直接在括号中添加参数即可。例如,如果要在 `@pytest.fixture(scope='function', autouse=True)` 中添加一个名为 `my_param` 的参数,可以这样写:
```
@pytest.fixture(scope='function', autouse=True, params=["my_param"])
def my_fixture(request):
# do something
```
2. 通过 `@pytest.mark.parametrize` 装饰器添加参数。例如,如果要在 `@pytest.fixture(scope='function', autouse=True)` 中添加一个名为 `my_param` 的参数,可以这样写:
```
import pytest
@pytest.fixture(scope='function', autouse=True)
@pytest.mark.parametrize("my_param", ["value1", "value2"])
def my_fixture(request, my_param):
# do something
```
这里使用 `@pytest.mark.parametrize` 装饰器来指定 `my_param` 参数的不同取值,可以通过 `request.param` 来获取具体的参数取值。注意,这种方式下,`@pytest.fixture` 装饰器必须放在 `@pytest.mark.parametrize` 装饰器的下面。
阅读全文