如何在VS 2012专业版RC中添加fakes程序集?
参考文章: - 在VS11中使用Fakes轻松创建单元测试存根和Shims - 为系统测试创建Fakes
更新:VS2012 Update 2将在“高级版(Premium)”中支持Fakes。
我在Microsoft Connect门户网站上提出了这个问题...但是答案令人失望:
RC文档是错误的。Fakes仅在VS Ultimate版本中可用。我已经向Fakes团队反馈了您的关注点。目前,我们没有关于VS 2012中PEX的任何信息。
我的详细问题是:
MSDN文档说明Fakes框架,即代码隔离的单元测试Moiles框架的继承者,可用于“高级版(Premium)”和“旗舰版(Ultimate)”版本。
http://msdn.microsoft.com/en-us/library/dd264975(v=vs.110)
另外,在MSDN博客的其他地方,Peter Provost也确认了这一点,他在几个月前确认了VS2011版本:
http://blogs.msdn.com/b/visualstudioalm/archive/2012/03/09/10279666.aspx
但是当我今天尝试使用“高级版(Premium)”RC时,我发现我的样本DLL包含的代码测试项目中没有“添加Fakes程序集”的上下文菜单选项。只有在我安装了“旗舰版(Ultimate)”RC后才得到Fakes菜单支持。
这促使我要求您澄清以下内容:
1) 我的观察是否正确,Fakes确实只能在Ultimate版本中使用?这是因为它依赖于IntelliTrace,它是仅限Ultimate版本的功能吗?
2) 如果是,那么为什么有冲突的信息表明Fakes与Premium版本一起提供?
3) 为什么现在Fakes框架要依赖于IntelliTrace,而在VS 2010中没有这种依赖关系也能很好地工作呢? 这本质上断绝了在Professional或者甚至是Premium版本VS 2010中使用Moles的现有用户,并且由于他们对Moles进行单元测试的依赖性,使得他们升级到VS 2012的问题成为疑问。
4) 我们已经在VS 2010 Professional版中使用Moles。因此,这个观察结果确实让我担心我们的C#开发人员目前选择使用Moles的决定。最好的情况下,我们可以考虑将大型开发人员团队升级到Premium版本(鉴于我们也支持代码覆盖率)...但是直接升级到Ultimate版本以获取UT支持是不可能的。
我希望尽快澄清这些问题,以便我们开始寻找Moles的替代方案,以防您的决定确实是将Fakes保留在VS 2012 Ultimate版本中。