Dopo aver letto un interessante articolo sul comportamento dell'unità di test invece che sullo stato, mi sono reso conto che i miei test unitari spesso sono strettamente accoppiati al mio codice perché sto usando i mock. Non riesco a immaginare i test delle unità di scrittura senza fare il mock ma il fatto è che questi mock stanno accoppiando il mio test unitario molto al mio codice a causa delle chiamate expect andReturn.Sto facendo qualcosa di fondamentalmente sbagliato nei miei test unitari?
Ad esempio, quando creo un test che utilizza una simulazione, registro tutte le chiamate al mock specifico e assegna i valori di ritorno. Ora, quando cambio l'implementazione del codice effettivo per qualsiasi motivo, molti test si interrompono perché quella telefonata non era prevista dalla simulazione, costringendomi ad aggiornare anche il test dell'unità e mi costringeva a implementare ogni modifica due volte. Questo succede molto.
Questo problema è intrinseco all'uso di mock e dovrei imparare a conviverci o sto facendo qualcosa di fondamentalmente sbagliato? Per favore chiariscimi :) Gli esempi chiari che arrivano con la spiegazione sono i benvenuti, ovviamente.
Si dovrebbe definitivamente google "classicista mockist fowler", prenotare un giorno o due e leggere :). imho, entrambi hanno i loro meriti ed entrambi dovrebbero essere usati quando la situazione lo richiede. –