Voglio sapere se le classi di test di servizio devono utilizzare oggetti DAO reali e connettersi al database o utilizzare oggetti fittizi per testare solo la logica di business che fa?
Voglio sapere se le classi di test di servizio devono utilizzare oggetti DAO reali e connettersi al database o utilizzare oggetti fittizi per testare solo la logica di business che fa?
Le tue classi di test non dovrebbero connettersi al database se stai testando solo la logica di business, dovresti usare mock invece.
In questo modo è più veloce poiché i test non aprono e chiudono connessioni e database indipendenti (puoi eseguire i test senza alcun database.)
Se vuoi testare gli oggetti DAO e le connessioni al database, dovresti fare altri test.
In alternativa alla risposta di Thanos Papathanasiou, ho visto alcuni test di unità degli oggetti DAO utilizzando nel database di memoria come SQLite . È un test molto veloce e sicuro.
Un esempio di esso testing nHibernate (ORM) può essere trovato su Ayende post sul blog . Controlla lo stesso metodo con Django .
Leggi altre domande sui tag unit-testing