[Python] Mock... non capisco la patch
Karim
lemieliste a gmail.com
Gio 8 Set 2016 12:13:42 CEST
Salve a tutti, ho un codice che non riesco a capire...
ho un test che mi patcha una funzione:
from tests.utils import mock_session_oauth
@patch('app.tasks._create_session')
def test_refresh_token_task(self, create_session_mocked):
create_oauth_session_mocked.return_value = mock_session_oauth()
# qui esegui i miei test...
`mock_session_oauth` restituisce un oggetto Mock con vari settaggi che mi
servono. L'ho provato da shell e funziona. Si comporta esattamente come
voglio.
Ora io vorrei che `create_session_mocked` diventi quell'oggetto e lo faccio
all'inizio del testo. In realta' `create_session_mocked` non ha il mio
MagicMock restituito dalla funzione, ma un MagicMock restituto da patch
come se non avessi fatto nessun assign.
Ora mi chiedo come mai succede questo.
Inoltre ho capito che non e' il modo giusto per fare questa operazione, io
vorrei che la patch mi usasse direttamente il mock che restituisce la mia
funzione senza troppi fronzoli, puo' farlo? Puo' anche passare dei
parametri alla funzione, nel caso volessi? Forse e' meglio usare il with?
Grazie per gli eventuali chiarimenti.
--
Karim N. Gorjux
-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: <http://lists.python.it/pipermail/python/attachments/20160908/ebfe5bf6/attachment.html>
Maggiori informazioni sulla lista
Python