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 |