Non dovresti prendere in giro le chiamate al database perché ciò potrebbe vanificare lo scopo. Ad esempio, è necessario chiamare il tuo DAO, ad esempio, da un livello di servizio. Mocking ti permette di testare i metodi separatamente.
Supponiamo di avere una simulazione di ristorante con un'architettura simile a questa:
Cook <=> Server <=> Customer
Vuoi testare ogni livello in modo indipendente. Qui Server è il tuo livello di servizio e Cook può essere considerato come un DAO. Il Server è ciò che vuoi fare finta di testare Customer , e Cook è ciò che vuoi fare finta testando il Server . I test dell'unità Cook , tuttavia, dovrebbero verificare che l'implementazione restituisca un hamburger quando è stato ordinato un hamburger e non un pneumatico di gomma.