Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2012/2.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
Visual studio 2012 Visual Studio 2013分析代码覆盖率测试初始化数据库文件存在_Visual Studio 2012_Code Coverage_Dbcontext_Integration Testing - Fatal编程技术网

Visual studio 2012 Visual Studio 2013分析代码覆盖率测试初始化数据库文件存在

Visual studio 2012 Visual Studio 2013分析代码覆盖率测试初始化数据库文件存在,visual-studio-2012,code-coverage,dbcontext,integration-testing,Visual Studio 2012,Code Coverage,Dbcontext,Integration Testing,有人能就我遇到的问题给我提些建议吗?我正在Visual Studio 2013的一个C#项目中使用Microsoft.VisualStudio.TestTools.UnitTesting 我有一些单元测试,它们使用从DropCreateDatabaseAlways继承的DbContextInitialiser在TestInitialize方法中启动一个新的数据库实例 如果我“运行所有”测试,那么测试可以通过。如果我尝试为所有测试“分析代码覆盖率”,测试将开始失败,并显示错误消息,指示.mdf文件

有人能就我遇到的问题给我提些建议吗?我正在Visual Studio 2013的一个C#项目中使用Microsoft.VisualStudio.TestTools.UnitTesting

我有一些单元测试,它们使用从DropCreateDatabaseAlways继承的DbContextInitialiser在TestInitialize方法中启动一个新的数据库实例

如果我“运行所有”测试,那么测试可以通过。如果我尝试为所有测试“分析代码覆盖率”,测试将开始失败,并显示错误消息,指示.mdf文件已经存在。它应该为每个测试删除并重新创建数据库,但是我假设测试是异步运行的,因此会产生文件锁

请告知我的最佳行动方案。提前谢谢。 顺致敬意,
Duane。

请注意,由于您正在删除并重新创建数据库,因此这些不是单元测试,而是集成测试。还有.mdf文件是您的解决方案的一部分吗?您是否已将其作为[DeploymentItems]添加?@Spock-感谢您澄清它们是什么类型的测试。我假设它们是对我的存储库中的方法进行单元测试的测试。我没有将.mdf添加为[DeploymentItems]。使用
//Set db initialiser创建空数据库var initialiser=new WebsiteDbContextInitialiser(),根据需要为每个测试创建和销毁它们;SetInitializer(初始化器);初始化器。初始化数据库(_unitOfWork)