python - 访问了模拟实例上的断言属性

标签 python unit-testing mocking

我如何断言 Mock 上的属性和/或 MagicMock被访问了?

例如,

from unittest.mock import MagicMock

def foo(x):
    a = x.value

m = MagicMock()
foo(m)
m.attr_accessed('value')    # method that does not exist but I wish did; should return True

检查 foo 是否尝试访问 m.value 的实际方法是什么?

最佳答案

您可以按照描述使用 PropertyMock here .

例如,

from unittest.mock import MagicMock, PropertyMock

def foo(x):
    a = x.value

m = MagicMock()
p = PropertyMock()
type(m).value = p
foo(m)
p.assert_called_once_with()

关于python - 访问了模拟实例上的断言属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19147268/

相关文章:

Python:为什么描述符不能是实例变量?

python - plt.plot 使用元组参数绘制什么?

android - 使用android studio进行单元测试时运行哪个测试

asp.net-mvc - 如何在 ASP.Net MVC 中模拟 Controller 上的请求?

unit-testing - 在我的单元测试中避免 try...catch...finally... 的最佳方法是什么?

python - mock `background_tasks.add_task`

python - PyQt4如何恢复最小化的窗口?

python - 写入、删除,但不会读取文本文件

python - Python的模拟库,在模拟函数中只返回一次值?

python - 在python中模拟文件对象或iterables