一个类中 path作为入参,不要和conftest耦合
时间: 2023-11-27 16:53:29 浏览: 32
如果你想在一个类中使用 `path` 作为入参,但不希望与 `conftest` 耦合,可以考虑使用 fixtures 来解决这个问题。在你的类中,你可以使用 `@pytest.fixture` 装饰器来创建一个 fixture,该 fixture 接收一个 `path` 参数,并返回一个你需要的值。
例如:
```python
import pytest
class MyClass:
def __init__(self, my_path):
self.path = my_path
@pytest.fixture
def my_fixture(request):
# 在这里获取 path 参数
my_path = request.param
# 返回你需要的值
return MyClass(my_path)
@pytest.mark.parametrize('my_fixture', ['path/to/my/file'], indirect=True)
def test_my_class(my_fixture):
assert my_fixture.path == 'path/to/my/file'
```
在这个例子中,我们创建了一个 `my_fixture` fixture,它接收一个 `request` 参数,并从 `request.param` 中获取传递给它的 `path` 参数。然后我们在 `test_my_class` 测试函数中使用 `my_fixture` fixture,并将参数 `my_fixture` 传递给它。这样,我们就可以在测试函数中使用 `MyClass` 类,并将 `path` 作为入参,而不需要与 `conftest` 耦合。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)