Ho appena iniziato a scrivere test unitari e non sono sicuro che lo farò nel modo giusto. Dovrei testare ogni classe "rimuovendo le dipendenze"? In altre parole, test dell'unità significa: "testare parte di un codice con l'assunto che le dipendenze fornite ad altri moduli siano corrette e testare queste dipendenze come moduli singoli più tardi in altre classi di test unitarie"?
Ad esempio, scrivo un'applicazione WinRT in modalità Model-View-ViewModel e ho la classe MainViewModel. Questa classe ha dipendenza da IDataRepository
che viene iniettata nel costruttore. MainViewModel
è responsabile della gestione dei comandi e del collegamento del modello con la vista. MainViewModel
ha comandi come CopyItems
, LoadData
ecc che si affidano all'implementazione IDataRepository
.
Devo passare falso (finto / falso ??) IDataRepository
in MainViewModel_Tests
e test solo i dati sono caricati, copiati ecc. sull'esecuzione del comando? Un test dovrebbe verificare solo le cose che la classe fa davvero, non le dipendenze?