Problemas de la placa de preparación de ASP al usar el Esfuerzo en las pruebas unitarias con EFProf (Entity Framework Profiler)

asp.net-boilerplate effort entity-framework entity-framework-6 unit-testing

Pregunta

Problemas al usar EFProf ( http://www.hibernatingrhinos.com/products/EFProf ) con ASP Boilerplate ( http://www.aspnetboilerplate.com/ ).

Para pruebas de unidad, ASP Boilerplate utiliza Effort ( https://github.com/tamasflamich/effort ) para burlarse de la base de datos en memoria.

Si ejecuto las pruebas unitarias sin agregar la referencia a EFProf, las pruebas se ejecutan correctamente (verde).

Si agrego la línea de inicialización:

HibernatingRhinos.Profiler.Appender.EntityFramework.EntityFrameworkProfiler.Initialize();

En mi ctor base de prueba o en Inicializar () de mi proyecto de aplicación, obtengo el siguiente error:

HibernatingRhinos.Profiler.Appender.EntityFramework.EntityFrameworkProfiler.Initialize();

ComponentActivator: no se pudo crear una instancia de MyApp.EntityFramework.MyAppDataContext

La excepción interna tiene la información relevante:

Error: Unable to cast object of type 'Effort.Provider.EffortConnection' to type 'HibernatingRhinos.Profiler.Appender.ProfiledDataAccess.ProfiledConnection'.

¿Esfuerzo simplemente no es compatible con EFProf? ¿O estoy haciendo algo incorrectamente obvio en mi inicialización?

Respuesta aceptada

Respondiendo a mi propia pregunta: Esfuerzo falsifica el objeto DbContect pero en realidad no crea SQL para en memoria, por lo tanto, no hay nada que interceptar por los perfiladores. También es la razón por la que el CommandText siempre es nulo cuando se utiliza la Base de datos de EF6. Iniciar sesión con Esfuerzo.

Voy a intentar usar Moq con EF6 para usar una implementación de base de datos en la memoria como una alternativa al proyecto de prueba de Asp Boilerplate que utiliza el Esfuerzo por este artículo: https://msdn.microsoft.com/en-us/library/dn314429 (v = vs.113) .aspx




Licencia bajo: CC-BY-SA with attribution
No afiliado con Stack Overflow
¿Es esto KB legal? Sí, aprende por qué
Licencia bajo: CC-BY-SA with attribution
No afiliado con Stack Overflow
¿Es esto KB legal? Sí, aprende por qué