Come posso testare la logica del database unitario?

11

Ho ancora un problema nel superare un piccolo problema quando si tratta di TDD.

Ho bisogno di un metodo che ottenga un determinato set di record di dati filtrati dal livello dati (linq2SQL). Si noti che sto usando le classi generate da linq da quelle generate dal DBML. Ora il problema è che voglio scrivere un test per questo.

faccio io:

a) prima inserisci i record nel test e poi esegui il metodo e prova i risultati

b) usa i dati che potrebbero essere nel database. Non appassionare a questa logica perché potrebbe causare la rottura delle cose.

c) che cosa suggerisci?

    
posta Neale 25.10.2010 - 10:09
fonte

1 risposta

7

Variazione su (a).

Avere una prova db o una sottosezione del db che può essere utilizzata per il test. Quando stai impostando i tuoi test, hanno una routine che inizializza il DB quando ne hai bisogno per iniziare il test (questo può essere fatto prima di ogni test, a seconda dei casi). Ciò può includere l'eliminazione di dati, l'inserimento di dati, ecc. Quindi eseguire i test. Nella fase di Teardown, ripulisci te stesso. Può essere ripetuto per quanto necessario, senza il rischio di interrompere il sistema live (non è una buona idea testare l'utilizzo dei dati nel database che è necessario per qualsiasi altra cosa).

    
risposta data 25.10.2010 - 11:52
fonte

Leggi altre domande sui tag