问题描述
# file1.py
from path.to.library import contextManager,helperClass
def record(Metadata_1,Metadata_2):
def record_decorator(func):
def wrapper(*args):
with contextManager("contextName",helperClass):
return func(*args)
return wrapper
return record_decorator
我想通过检查上下文管理器启动并使用正确的参数初始化来测试这个装饰器。目前,我正在尝试以下操作:
@mock.patch("file1.contextManager")
@mock.patch("file1.helperClass")
def test_decorator(helperClass_mock,contextManager_mock):
@record("data1","data2")
def helperFunction(param1):
return param1
helperFunction("just to test decorator")
contextManager_mock().__enter__.assert_called_once()
contextManager_mock.__init__.assert_called_once_with("contextName",helperClass_mock)
我收到一个错误,说我缺少一个必需的参数(根据参数名称,我假设是 contextManager 的构造函数中的第一个参数)。任何建议/帮助将不胜感激
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)