如何在VS 2012 Professional RC中添加一个假程序集?

32
根据以下两篇关于VS 2012和Microsoft Fakes测试框架的文章,我应该能够在我的测试项目引用中右键单击程序集并选择“添加Fakes程序集”来创建一个新的Microsoft Fakes Framework程序集。但是我在VS 2012 RC专业版中没有找到应该在哪里的上下文菜单项。我可能需要引用Microsoft.QualityTools.Testing.Fakes程序集,但我在添加引用搜索中也找不到它。自从测试版以来,要求的菜单是否发生了变化?我需要安装扩展吗?
如何在VS 2012专业版RC中添加fakes程序集?
参考文章: - 在VS11中使用Fakes轻松创建单元测试存根和Shims - 为系统测试创建Fakes

你确定这个功能只在专业版中可用,而不是仅在旗舰版中可用吗? - TomTom
非常好的问题,也很可能是答案。我之前在运行VS 11 Ultimate Developer Preview,然后升级(和降级)到VS 2012 Professional,因为那更有可能是我将获得许可的版本。现在我没有看到那个功能了。不知道它是否被重命名、移动或者是SKU问题。 - Dan Sorensen
鉴于我从未安装过专业版,我只能告诉你它确实存在 ;) - TomTom
1个回答

33

更新:VS2012 Update 2将在“高级版(Premium)”中支持Fakes。

详见http://blogs.msdn.com/b/bharry/archive/2013/01/30/announcing-visual-studio-2012-update-2-vs2012-2.aspx

我在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版本中。


8
产品版本比较表明该产品仅在Ultimate版中提供。请展开“测试工具”部分。[http://www.microsoft.com/visualstudio/11/en-us/products/compare] - AlGonzalez
1
有人在想这个问题时运气不太好。我想看到一个图表,显示业内大多数开发者现在使用哪些版本。我打赌 Ultimate 是最小的一部分... - Jontatas
1
多么奇怪啊... PowerMock 对于 Java 是免费的,但 Fakes 只在 Ultimate 版本中才可用。 - Christo
太棒了,微软,我真的以为你会支持我 :-( - 7wp
微软做得好!我来使用Moq。 - Caltor

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接