Ho familiarità con altre librerie di mocking in altri linguaggi come Mockito in Java, ma la libreria di Python mock
mi confonde.Mocking di un singolo metodo su un oggetto
Ho la seguente classe che vorrei testare.
class MyClassUnderTest(object):
def submethod(self, *args):
do_dangerous_things()
def main_method(self):
self.submethod("Nothing.")
Nel mio test, mi piacerebbe fare in modo che il submethod
è stato chiamato quando main_method
è stato eseguito e che è stato chiamato con gli argomenti giusti. Non voglio eseguire submethod
, poiché fa cose pericolose.
Sono completamente insicuro su come iniziare con questo. La documentazione di Mock è incredibilmente difficile da capire e non sono sicuro di cosa deridere o come deriderlo.
Come posso simulare la funzione submethod
, lasciando la funzionalità in main_method
da solo?
Grazie, per qualche motivo ho avuto difficoltà a comprendere tutti i diversi metodi 'patch' e come usarli. –
ok. sentiti libero di chiedermelo – oleg