Python模拟无法获得正确的return_value

时间:2014-07-23 05:58:20

标签: python unit-testing mocking return-value

我有以下函数,图像是模块中的python对象,并具有方法形状。

def foo(image):
    print image.shape

我想模拟对象图像及其返回值

image = Mock()
image.shape.return_value = (0,0)
foo(image)
>>> <Mock name='mock.shape' id='4416382544'>

调用foo(image),image.shape将返回。如何让它返回(0,0)? (我需要获取值来测试某些条件,如果image.shape =(0,0)。 我很难让它发挥作用。

感谢您的帮助

1 个答案:

答案 0 :(得分:1)

image.shape = (0, 0)

直接设置属性。 return_value与属性访问无关。