如何在模拟装饰器中使用 pytest 装置?
我想在Mock.patch Decorator中使用Pytest固定装置,但我遇到了一个错误,说它不确定。是否可以在装饰器中使用固定装置?
我在conftest中一个简单的固定装置。Py
@pytest.fixture
def file_loader():
"""Loads data from given path"""
def _loader(filename):
with open(filename, 'r', encoding="utf-8") as f:
data = f.read()
return data
return _loader
我希望此固定装置的返回值是我的模拟return_value,但我得到File_loader并不是定义的错误。
from unittest.mock import patch
@patch("service.my_func", mock.MagicMock(return_value=file_loader("file_path"))
def test_my_func():
...
I want to use a pytest fixture in mock.patch decorator but I get an error says it is undefined. Is it possible to use fixtures in decorators?
I've a simple fixture in conftest.py
@pytest.fixture
def file_loader():
"""Loads data from given path"""
def _loader(filename):
with open(filename, 'r', encoding="utf-8") as f:
data = f.read()
return data
return _loader
I want this fixture's return value to be my mock return_value but I get file_loader is not defined error.
from unittest.mock import patch
@patch("service.my_func", mock.MagicMock(return_value=file_loader("file_path"))
def test_my_func():
...
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论