Python模拟返回值

时间:2012-05-11 02:58:32

标签: python mocking

通常情况下,使用mock时,我会有

from mock import Mock

m = Mock()
m
<Mock id='4334328720'>

是否可以更改此输出?

1 个答案:

答案 0 :(得分:5)

不确定。您可以从Mock继承并更改__repr__方法:

from mock import Mock
class Mock2(Mock):
    def __repr__(self):
        return "Hello World!"

m = Mock2()

>> m
Hello World!

您还可以动态更改对象的__repr__方法,如下所示:

from mock import Mock
m = Mock()

def new_repr(self):
    return "Hello dynamic Python!"
m.__repr__ = new_repr

>> m
Hello dynamic Python!