当我使用mock.return_value.method.side_effect = [1, 2]
时。
效果很好。
我进入每个通话1
,然后进入下一个通话的2
。
但是,如何为属性做呢?
我使用object.text = "some-text"
。和工程。但是我需要属性text
的side_effect。有可能吗?
答案 0 :(得分:2)
您可以使用PropertyMock对象来实现。将它附加到您的Mock上必须与正常情况有所不同。这是一个示例:
from mock import Mock
from mock import PropertyMock
object = Mock()
type(object).attribute = PropertyMock(side_effect=[1, 2])
print object.attribute
print object.attribute