Implementé pruebas unitarias siguiendo las líneas de este artículo con un contexto de objeto falso e IObjectSet con POCO en EF4.Entity Framework 4.0 Unit Testing
Pero estoy seguro de cómo poner en práctica un par de métodos en mi contexto del objeto falsa para la prueba. Tengo métodos CreateQuery y ExecuteFunction en mi interfaz de contexto de objetos para poder ejecutar ESQL y procedimientos almacenados, pero no puedo implementarlos (fácilmente) en mi contexto de objeto falso.
Una alternativa sería utilizar una doble prueba de mi repositorio en lugar de un doble de mi contexto del objeto como se sugiere aquí:
http://social.msdn.microsoft.com/Forums/en-US/adonetefx/thread/c4921443-e8a3-4414-92dd-eba1480a07ad/
Pero esto significaría mi isnt real del repositorio siendo probado y parece para eludir el problema.
¿Alguien puede ofrecer alguna recomendación?
excelente respuesta imo –
great answer indeed. ¿Conoces alguna forma eficiente de probar los repositorios?Idealmente, usaría un DB en memoria para esto, excepto que EF4 no funciona con ninguno sin modificaciones significativas. –
No sabría acerca de EF4 (he renunciado más o menos a EF), pero con las versiones anteriores no había costuras que permitieran las bases de datos en memoria de ninguna manera fácil. Teóricamente, dado que EF se basa en un modelo de proveedor extensible, es posible que pueda utilizar un DB en memoria como base de datos subyacente si puede encontrar un proveedor, pero no conozco ninguno. Por otra parte, no he buscado durante mucho tiempo ... –