I test unitari devono essere isolati, automatizzati (ovvero non è necessario eseguire alcuna configurazione preliminare per tutti i test da eseguire con un clic di un pulsante) e coerenti nei risultati. Per questi motivi dovremmo eliminare tutte le dipendenze esterne (es. Database, servizi web ecc.) Utilizzati dall'unità sotto test UUT (con i test di integrazione UUT utilizzare dipendenze esterne).
Ma in base a quali criteri decidiamo quali dipendenze interne chiamate da UUT (per dipendenze interne mi riferisco al codice che è sotto il nostro controllo e che non comunica con nessun sistema esterno) deve anche essere stroncato e quale non è necessario che sia?
Forse i criteri che i metodi definiti nella stessa classe di UUT non hanno bisogno di essere stubati, mentre i metodi definiti in altre classi dovrebbero essere, o ...?