<div dir="ltr"><div class="gmail_default" style="font-family:verdana,sans-serif">Salve a tutti, ho un codice che non riesco a capire...</div><div class="gmail_default" style="font-family:verdana,sans-serif"><br></div><div class="gmail_default" style="font-family:verdana,sans-serif">ho un test che mi patcha una funzione:</div><div class="gmail_default" style="font-family:verdana,sans-serif"><br></div><div class="gmail_default" style="font-family:verdana,sans-serif">from tests.utils import mock_session_oauth</div><div class="gmail_default" style="font-family:verdana,sans-serif"><br></div><div class="gmail_default"><div class="gmail_default" style="font-family:verdana,sans-serif">    @patch('app.tasks._create_session')</div><div class="gmail_default" style="font-family:verdana,sans-serif">    def test_refresh_token_task(self, create_session_mocked):</div><div class="gmail_default" style="font-family:verdana,sans-serif">        create_oauth_session_mocked.return_value = mock_session_oauth()</div><div class="gmail_default" style="font-family:verdana,sans-serif"><span style="font-family:arial,sans-serif">          # qui esegui i miei test...</span></div><div class="gmail_default" style="font-family:verdana,sans-serif"><span style="font-family:arial,sans-serif"><br></span></div><div class="gmail_default" style="font-family:verdana,sans-serif"><span style="font-family:arial,sans-serif"><br></span></div><div class="gmail_default">`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.</div><div class="gmail_default"><br></div><div class="gmail_default">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.</div><div class="gmail_default"><br></div><div class="gmail_default">Ora mi chiedo come mai succede questo.</div><div class="gmail_default"><br></div><div class="gmail_default">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?</div><div class="gmail_default"><br></div><div class="gmail_default">Grazie per gli eventuali chiarimenti.</div><div class="gmail_default" style="font-family:verdana,sans-serif"><span style="font-family:arial,sans-serif"><br></span></div><div class="gmail_default" style="font-family:verdana,sans-serif"><span style="font-family:arial,sans-serif">-- </span><br></div></div><div class="gmail_signature"><div dir="ltr">Karim N. Gorjux<br></div></div>
</div>