如何在obj中修补属性

2024-09-27 07:26:28 发布

您现在位置:Python中文网/ 问答频道 /正文

问题是如何在with语句中修补实例的属性。我试着用下面的例子,但没用。它打印在评论中。

from mock import patch, PropertyMock

class Foo(object):
    f = {'a': 1}

new_foo = Foo()

with patch.object(new_foo, 'f', new_callable=PropertyMock) as mock:
    mock.return_value = {'b': 2}
    print new_foo.f
    # <PropertyMock name='f' id='4474801232'>

Tags: 实例fromimportnew属性objectfoowith
1条回答
网友
1楼 · 发布于 2024-09-27 07:26:28

documentation中有一个例子。您需要提供patch.object的类,而不是实例化的对象。

from mock import patch, PropertyMock

class Foo(object):
    f = {'a': 1}

new_foo = Foo()

with patch.object(Foo, 'f', new_callable=PropertyMock) as mock:
    mock.return_value = {'b': 2}
    print new_foo.f

print new_foo.f

输出:

{'b': 2}
{'a': 1}

相关问题 更多 >

    热门问题