Junior — Middle
Qual è la differenza tra mock object e stub nel contesto dei test?
sobes.tech AI
Risposta dell'AI
Nel contesto dei test, gli oggetti mock (mocks) e gli stub servono a sostituire componenti reali, ma hanno scopi diversi:
-
Stub — è un oggetto semplice che restituisce dati predefiniti, in modo che il test possa funzionare con un comportamento prevedibile. Non verifica come viene chiamato, fornisce semplicemente le risposte necessarie.
-
Mock — è un oggetto che non solo imita il comportamento, ma verifica anche che i metodi siano stati chiamati con i parametri attesi e nell'ordine corretto. I mock vengono usati per verificare le interazioni.
Esempio:
- Uno stub può restituire una risposta fittizia di una richiesta di rete.
- Un mock verificherà che il metodo di richiesta sia stato chiamato esattamente una volta con un URL specifico.
Su iOS, per creare mock e stub, si utilizzano spesso framework come OCMock o Cuckoo.