当您运行单个或在Visual Studio Update 3中运行测试类中的所有测试时,是否有人知道执行过程中是否存在差异(例如“vstest.executionengine.exe”)(已编译)到x64和.Net 4.5.2)?
运行“所有测试..”使特定测试失败。 但运行单一测试(相同的特定测试)成功
特定测试在using子句中使用dbContext(Entity Framework 6.x),似乎dbContext在运行所有测试时以某种方式被缓存,从而使特定测试失败可以这么说......
提前致谢
答案 0 :(得分:0)
恕我直言,UnitTests不应该打到数据库。
对于你的问题,当你运行single vs all时,“all”就是它创建那些文件夹,如
\ TestResults \ MyUserName_MyMachineName 2016-12-31 14_45_48 \ In \ TestResults \ MyUserName_MyMachineName 2016-12-31 14_45_48 \ Out
每当我遇到问题时,就是我在UnitTest所需的某个文件上没有[DeploymentItem]属性。
(当UnitTest作为单个运行时,该文件将位于\ bin \ Debug \文件夹中,但当它以“全部运行”运行时,它将不会出现在“\ TestResults \ MyUserName_MyMachineName 2016-12-”中31 14_45_48 \“(在此处的某个子文件夹中)文件夹,因此UnitTest将失败。
这就是为什么DeploymentItem存在,强制将文件复制到“全部运行”区域。