在测试类中运行单个或所有测试时,执行是否存在任何差异

时间:2017-02-21 15:25:27

标签: visual-studio-2015 mstest

当您运行单个或在Visual Studio Update 3中运行测试类中的所有测试时,是否有人知道执行过程中是否存在差异(例如“vstest.executionengine.exe”)(已编译)到x64和.Net 4.5.2)?

运行“所有测试..”使特定测试失败。 但运行单一测试(相同的特定测试)成功

特定测试在using子句中使用dbContext(Entity Framework 6.x),似乎dbContext在运行所有测试时以某种方式被缓存,从而使特定测试失败可以这么说......

提前致谢

1 个答案:

答案 0 :(得分:0)

  1. 恕我直言,UnitTests不应该打到数据库。

  2. 对于你的问题,当你运行single vs all时,“all”就是它创建那些文件夹,如

  3.   

    \ 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存在,强制将文件复制到“全部运行”区域。