Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/unit-testing/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Entity framework 使用EFProf(实体框架分析器)进行单元测试时的ASP样板问题_Entity Framework_Unit Testing_Entity Framework 6_Effort_Asp.net Boilerplate - Fatal编程技术网

Entity framework 使用EFProf(实体框架分析器)进行单元测试时的ASP样板问题

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

将EFProf()与ASP样板文件()一起使用时出现问题

对于单元测试,ASP样板文件使用Effort()模拟内存中的数据库

如果我运行单元测试而不添加对EFProf的引用,那么测试将正确运行(绿色)

如果添加初始化行:

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样板文件测试项目的替代方案,该项目利用了本文所述的工作: