17

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ですか?

4

1 に答える 1

17

ここで説明されているように、PropertyMock を使用できます。

例えば、

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()
于 2013-10-02T22:00:30.533 に答える