配置好conftest.py后设置好pytest.mark.usefixtures(),但是并不会执行conftest.py中相应的方法
时间: 2024-04-14 11:29:40 浏览: 183
如果你已经在 `conftest.py` 中定义了 Fixture 方法,并在测试文件中使用了 `pytest.mark.usefixtures()` 装饰器来调用 Fixture,但是发现 Fixture 方法没有被执行,可能有以下几个原因:
1. 确保 `conftest.py` 文件与测试文件在同一目录。`conftest.py` 文件必须与要调用它的文件在相同的目录下,这样 `pytest` 才能正确加载它。
2. 确保已正确安装了 `pytest`。可以使用以下命令安装最新版本的 `pytest`:
```shell
pip install pytest
```
3. 确保正确使用了 `pytest.mark.usefixtures()` 装饰器。在测试函数上使用 `pytest.mark.usefixtures()` 装饰器时,需要将 Fixture 名称作为参数传递给装饰器。
```python
import pytest
@pytest.mark.usefixtures("fixture_name")
def test_function():
# 测试逻辑
pass
```
如果你仍然遇到问题,请确保在测试文件中引入了 `conftest.py` 文件,例如,在测试文件的顶部添加以下导入语句:
```python
import pytest
pytest.register_assert_rewrite('conftest')
```
这将确保 `conftest.py` 文件中的 Fixture 方法能够正确地被执行。
阅读全文