Qualsiasi lettura o consiglio che ho ricevuto sui Test unità ha sempre suggerito una netta differenza tra la definizione di un Mock e uno Stub. La mia attuale comprensione di queste definizioni sono i seguentiTest unitario Definizioni derubato/stub in Moq
Mock: Un falso che verrà utilizzato nel il test per fare un'affermazione finale
Stub: Un falso che verrà utilizzato nel il test per isolare una dipendenza ma non essere esercitati
Tuttavia, Moq appare per consentire solo la creazione di Mocks. Lo spazio dei nomi Stub nel framework sembra essere deprezzato con raccomandazioni per l'utilizzo di Mock.SetupXXX.
Mi manca qualcosa nella mia comprensione di questo? O c'è una comprensione generale che un oggetto finto può essere usato come niente più che uno stub?
Forse sono pedante, è solo che ho sempre trovato il linguaggio in programmazione per essere molto severo e preferisco averlo corretto, specialmente quando altri sviluppatori potrebbero prendere in consegna un progetto.
Non sono d'accordo eglasio.I test dovrebbero essere estremamente facili da leggere, digerire e capire cosa viene eseguito da altri sviluppatori. La lingua gioca un ruolo fondamentale in questo. – WDuffy
@WDuffy sicuro, ma il modo in cui vedo è già stato comunicato chiaramente nel codice del test per raggiungerli. – eglasius
Differenziare gli stub da Mock è utile per indicare al lettore del test di sapere quali messaggi sono rilevanti per il test corrente (aspettative) da quelli incidentali (stub) – Gishu