5

En mis proyectos, sigo el patrón de repositorio para probar mi aplicación ASP.NET MVC con facilidad. Esto me permite simular fácilmente los objetos.La mejor forma de probar los repositorios que usan DbContext

Sin embargo, no estoy probando la lógica del Repositorio de esta manera.

Por ejemplo, vea la entrada de blog a continuación:

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

Esto es lo que hago y cómo puedo probar mi aplicación ASP.NET MVC.

¿Cuál cree que es la mejor forma de probar repositorios que usa la clase DbContext para llegar a los datos?

  • ¿Obtiene datos directamente de la base de datos? (Creo que esto sería lo peor, pero me pregunto si tus hijos)
  • ¿Debo crear un databse falso y rellenarlo con datos ficticios y señalar EF para conectar esa base de datos?

Y cualquier otro enfoque que pueda sugerir.

EDIT:

estoy usando EF 4.2 aquí.

Respuesta

7

El repositorio es su punto de entrada a la base de datos, por lo que la única manera de probarlo es utilizar la prueba de integración y trabajar en una base de datos de prueba. Puede usar pruebas transaccionales donde cada prueba configurará transacción y reversión al final de la prueba para mantener los datos de prueba iguales para todas las pruebas.

+1

Ya veo. Entonces, la única forma es clonar la estructura de la base de datos, sembrarla con datos falsos y señalar a EF para usar esa base de datos en el proyecto de prueba. ¿Lo entendí bien? – tugberk

+2

Sí. Ese es el enfoque correcto para probar repositorios. –

Cuestiones relacionadas