32

根据下面关于 VS 2012 和 Microsoft Fakes Test Framework 的两篇文章,我应该能够在我的测试项目的引用中右键单击一个程序集,然后选择“添加 Fakes 程序集”以在 Visual Studio 11 中创建一个新的 Microsoft Fakes 框架程序集/ 2012. 但是我没有在 VS 2012 RC Professional 中找到它应该在的上下文菜单项。我可能需要引用 Microsoft.QualityTools.Testing.Fakes 程序集,但在添加引用搜索中也找不到它。自测试版以来,所需的菜单是否发生了变化?我需要安装扩展程序吗?

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

参考文章:

4

1 回答 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 文档不正确。假货仅在 VS Ultimate 中可用。我已经转达了您对 Fakes 团队的担忧。目前,我们没有任何关于 VS 2012 的 PEX 的信息。

我的详细问题是:

MSDN 文档指出,Fakes 框架是用于单元测试代码隔离的 Moles 框架的继承者,在 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 的“添加假货程序集”上下文菜单选项。只有在我安装了 Ultimate RC 之后,我才获得了 Fakes 菜单支持。

这促使我要求您澄清以下内容:

1)我的观察是否正确,Fakes 确实只适用于 Ultimate?是因为它依赖于 IntelliTrace,这是一个 Ultimate 独有的功能吗?

2) 如果是,那么为什么会有相互矛盾的信息表明 Fakes with Premium 的可用性?

3) 为什么 Fakes 框架现在要依赖于 IntelliTrace,而在 VS 2010 中没有这种依赖关系的情况下它运行良好?这实质上是切断了使用 VS 2010 专业版甚至高级版的 Moles 的现有用户,并且由于他们现有的对 Moles 进行单元测试的依赖而将他们升级到 VS 2012 提出了问题。

4) 我们已经在 VS 2010 专业版中使用 Moles。所以这个观察确实让我担心目前在我们的 C# 开发人员中使用 Moles 的决定。充其量,我们可以考虑为我们庞大的开发人员群升级到 Premium(鉴于我们也有代码覆盖支持)......但是为了获得 UT 支持而直接升级到 Ultimate 是不可能的。

我希望尽早澄清这些要点,以便我们可以开始寻找 Moles 的替代品,以防您确实决定将 Fakes 保留在 VS 2012 Ultimate 中。

于 2012-06-25T15:24:32.970 回答