2015-03-07 1 views
0

Je suis en train de se moquer maintenant d'une fonction à l'aide mock.patch, par exemple:Est-il possible d'imprimer une instruction lorsque la fonction Mock de Python est appelée?

with mock.patch.object(self.myClass, 'MyClassMethod', return_value=None) as mock_MyMethod: 
    self.myClass.start() 
    mock_MyMethod.assert_called_once_with() 

Maintenant, je veux faire MyClassMethod imprimer « bonjour mot !! » quand il est appelé. Quelqu'un peut-il m'aider s'il vous plaît à trouver une solution pour cela.

Merci à l'avance,

Répondre

3

Vous pouvez utiliser side_effect. D'abord, vous définissez la fonction d'impression vous:

def hello(): 
    print("hello world!!!") 
    return mock.DEFAULT 

puis vous initialisez votre objet fantaisie comme ceci:

with mock.patch.object(..., side_effect=hello)