UnitTest在VisualStudio中是通过的,但是在MsTest中失败的原因
今天我遇到一个诡异的问题:
我的Unittest在VisualStudio中是通过了,但是在我们的Build脚本中失败了。
我们的Build的脚本调用的是MsTest,而MsTest最后会调用VsTestHost.exe。VisualStudio也是通过这个VsTestHost来进行UnitTest的。一样的VsTestHost,不一样的结果。
问题的答案是这样子的:VisualStudio准备UnitTest的环境的时候,他参考项目的配置信息,如果你的项目引用了另一个Assembly,VisualStudio会帮你把相关的Assembly复制到相应的目录。但是MsTest并不知道那些与你项目相关的那些信息,所以他就不会把那些文件复制过去,从而导致了UnitTest的失败。
解决办法就是在testsetings文件中的Deployment页中加入相关的文件。