【发布时间】:2019-09-18 09:50:08
【问题描述】:
我有一些使用函数作为参数的代码,并且我添加了一些包含__qualname__ 的日志记录,这导致我的单元测试失败,因为我传入的Mock 对象为__qualname__ 引发了AttributeError .
mock_func = Mock()
解决这个问题的一个简单方法是手动将期望的属性添加到mock中:
mock_func.__qualname__ = "mock_function"
或者在我创建它时将它添加到模拟的规范中:
mock_func = Moc(["__qualname__"])
但是这些解决方案并不令人满意,因为每当我使用不同的内置属性(例如__name__)时,我都需要更改它们。
有没有一种简单的方法来创建一个行为类似于函数的Mock?
我找到的最接近的是在错误的存储库中打开的this bug report,以及没有回复的this request。
【问题讨论】:
标签: python unit-testing mocking python-unittest