-1

我正在尝试执行类似的操作:

mymock = Mock()
mymock.variable.side_effect = [1,2,3]
print mymock.variable # Should print 1
print mymock.variable # Should print 2
print mymock.variable # Should print 3

但是,我没有得到想要的结果。我错过了什么?

4

1 回答 1

1

Usingside_effect仅适用于将属性作为方法调用时:

In [3]: mymock = Mock()

In [4]: mymock.variable.side_effect = [1,2,3]

In [5]: mymock.variable()
Out[5]: 1

In [6]: mymock.variable()
Out[6]: 2

In [7]: mymock.variable()
Out[7]: 3

没有类似的功能可以为属性赋值。

于 2017-11-10T06:52:32.590 回答