Visual studio 2012 Visual Studio 2013分析代码覆盖率测试初始化数据库文件存在
有人能就我遇到的问题给我提些建议吗?我正在Visual Studio 2013的一个C#项目中使用Microsoft.VisualStudio.TestTools.UnitTesting 我有一些单元测试,它们使用从DropCreateDatabaseAlways继承的DbContextInitialiser在TestInitialize方法中启动一个新的数据库实例 如果我“运行所有”测试,那么测试可以通过。如果我尝试为所有测试“分析代码覆盖率”,测试将开始失败,并显示错误消息,指示.mdf文件已经存在。它应该为每个测试删除并重新创建数据库,但是我假设测试是异步运行的,因此会产生文件锁 请告知我的最佳行动方案。提前谢谢。 顺致敬意,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文件
Duane。请注意,由于您正在删除并重新创建数据库,因此这些不是单元测试,而是集成测试。还有.mdf文件是您的解决方案的一部分吗?您是否已将其作为[DeploymentItems]添加?@Spock-感谢您澄清它们是什么类型的测试。我假设它们是对我的存储库中的方法进行单元测试的测试。我没有将.mdf添加为[DeploymentItems]。使用
//Set db initialiser创建空数据库var initialiser=new WebsiteDbContextInitialiser(),根据需要为每个测试创建和销毁它们;SetInitializer(初始化器);初始化器。初始化数据库(_unitOfWork)代码>