5

Nei miei progetti, seguo lo schema del repository per poter facilmente testare la mia app ASP.NET MVC. Questo mi permette di prendere facilmente in giro gli oggetti.Il modo migliore per testare i repository che usano DbContext

Tuttavia, non sto testando la logica del repository in questo modo.

Per esempio, vedere il post del blog di seguito:

How to Work With Generic Repositories on ASP.NET MVC and Unit Testing Them By Mocking

Questo è quello che faccio e come lo prova la mia ASP.NET MVC App.

Qual è secondo te il modo migliore di testare i repository che utilizzano la classe DbContext per raggiungere i dati?

  • Ottenere direttamente i dati dal database? (Penso che questo sarebbe il peggiore, ma mi chiedo il tuo parere)
  • Devo creare un databse falso e riempirlo con dati fittizi e indicare EF per collegare quel database?

E qualsiasi altro approccio che potresti suggerire.

EDIT:

Sto usando EF 4.2 qui.

risposta

7

Il respository è il punto di ingresso al database, quindi l'unico modo per verificarlo è utilizzare il test di integrazione e lavorare su un database di test. È possibile utilizzare test transazionali in cui ogni test imposterà transazione e rollback alla fine del test per mantenere i dati di test uguali per tutti i test.

+1

Vedo. Quindi, l'unico modo è di clonare la struttura del database, seminarla con dati falsi e puntare a EF per usare quel database sul progetto di test. Ho capito bene? – tugberk

+2

Sì. Questo è l'approccio corretto per testare i repository. –

Problemi correlati