我有一些使用函数作为参数的代码,还添加了一些日志记录,其中包括__qualname__
,这导致我的单元测试失败,因为我传入的Mock
对象为__qualname__
引发了一个AttributeError
mock_func = Mock()
此问题的一个简单解决方案是手动将预期属性添加到mock:
mock_func.__qualname__ = "mock_function"
或者在创建时将其添加到模拟的规范中:
mock_func = Moc(["__qualname__"])
但是这些解决方案并不令人满意,因为每当我使用不同的内置属性(例如__name__
)时,我都需要更改它们
有没有一种简单的方法来创建一个Mock
,它的行为就像一个函数
我找到的最接近的是在错误的存储库中打开的this bug report,和没有回复的this request
您可以简单地使用任何函数作为mock的规范
相关问题 更多 >
编程相关推荐