Riepilogo
La tabella sottostante fornisce un riepilogo di ciò che rappresenta ciascuna variante dei Test Double.
| Test Double | Purpose | Has behavior? | Injects Indirect Inputs into SUT |
Handles Indirect Outputs of SUT |
Values Provided by Test(er) |
| Dummy Object | Utilizzato come segnaposto quando è necessario passare un argomento a un metodo | NO | NO, mai usato | NO, mai usato | Nessuno |
| Stub Object | Fornisce risposte preconfezionate alle sole chiamate fatte durante il testing | SI | SI | NO, li ignora | Input indiretti per il SUT |
| Mock Object | Instrumentare e controllare le chiamate | SI | Opzionale | Verifica la correttezza rispetto alle aspettative. | Input indiretti per il SUT (opzionali) e output indiretti attesi dal SUT |
| Spy Object | Instrumentare e controllare le chiamate a oggetti reali | SI | Opzionale | Li cattura per una verifica successiva | Input indiretti per il SUT (opzionali) |
| Fake Object | Permette di eseguire test che altrimenti sarebbero impossibili o avrebbero effetti collaterali indesiderati (es test molto lenti) | SI | NO | Li utilizza | Nessuno |