Sobes.tech
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.