2012-05-11 143 views
2

通常情況下,使用模擬的時候,我會Python的模擬返回值

from mock import Mock 

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

是否有可能改變這種輸出?

回答

5

當然。您可以從模擬繼承和改變__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!