Entity framework 使用EFProf(实体框架分析器)进行单元测试时的ASP样板问题
将EFProf()与ASP样板文件()一起使用时出现问题 对于单元测试,ASP样板文件使用Effort()模拟内存中的数据库 如果我运行单元测试而不添加对EFProf的引用,那么测试将正确运行(绿色) 如果添加初始化行:Entity framework 使用EFProf(实体框架分析器)进行单元测试时的ASP样板问题,entity-framework,unit-testing,entity-framework-6,effort,asp.net-boilerplate,Entity Framework,Unit Testing,Entity Framework 6,Effort,Asp.net Boilerplate,将EFProf()与ASP样板文件()一起使用时出现问题 对于单元测试,ASP样板文件使用Effort()模拟内存中的数据库 如果我运行单元测试而不添加对EFProf的引用,那么测试将正确运行(绿色) 如果添加初始化行: HibernatingRhinos.Profiler.Appender.EntityFramework.EntityFrameworkProfiler.Initialize(); 在我的测试库或我的应用程序项目的Initialize()中,我得到以下错误: Castle.Mi
HibernatingRhinos.Profiler.Appender.EntityFramework.EntityFrameworkProfiler.Initialize();
在我的测试库或我的应用程序项目的Initialize()中,我得到以下错误:
Castle.MicroKernel.ComponentActivator.ComponentActivatorException
ComponentActivator:无法实例化MyApp.EntityFramework.MyAppDataContext
内部异常包含相关信息:
错误:无法将“Effort.Provider.EffortConnection”类型的对象强制转换为“HibernatingRhinos.Profiler.Appender.ProfiledDataAccess.ProfiledConnection”类型。
努力与EFProf不相容吗?还是我在初始化过程中犯了一些显而易见的错误?回答我自己的问题:努力伪造了DbContect对象,但实际上并没有在内存中为创建SQL,因此探查器无法拦截任何内容。这也是努力使用EF6的Database.Log时CommandText始终为空的原因
我将尝试使用Moq和EF6来使用内存中的数据库实现进行测试,以替代Asp样板文件的测试项目,该项目利用本文中的努力:回答我自己的问题:努力伪造DbContect对象,但实际上不为内存中的对象创建SQL,因此,探查器无法拦截任何内容。这也是努力使用EF6的Database.Log时CommandText始终为空的原因 我将尝试将Moq与EF6结合使用,以使用内存中的数据库实现进行测试,作为Asp样板文件测试项目的替代方案,该项目利用了本文所述的工作: