2012-10-02 90 views
3

我有一个使用Microsoft Moles进​​行测试的Visual Studio 2010解决方案(.Net3.5),我在Visual Studio 2012中打开它,但是我能够构建它,但是我无法运行来自Visual Studio的测试。原因是Moles主机适配器未在vs2012中注册。 所以所有的测试方法用[HOSTTYPE( “摩尔”)]不能与下面的异常运行:在Visual Studio 2012中使用Microsoft Moles

消息:UTA034: CreateSite_MockProperties_Passes具有无效HOSTTYPE属性。必须指定有效的注册主机类型。

有没有人想过如何在Visual Studio 2012中注册主机适配器?

+0

2012痣缺乏支持,可能鼓励使用官方发布的假货框架。有趣的问题。我会研究一个解决方案。 –

+0

感谢Mike,不幸的是我买不起Ultimate SKU,但真的很喜欢VS2010中的Moles。我查看了另一种通过External Tools和NUnit [链接](http://joekirwindev.blogspot.ca/2012/09/microsoft-moles-with-visual-studio-2012.html)在VS2012中运行Moles的方法。 MS Research团队确认他们将在2012年发布PEX,并且我非常喜欢在VS2010 IDE中一起使用这两款工具。因为我实际上在.Net3.5项目中工作,所以我认为更多的是注册Moles主机适配器。 – JoeKir

回答

1

它看起来更加乐观的鼹鼠框架的球迷。 我们知道,它的继任者“Fakes and Stubs”仅在VS2012 Ultimate SKU中可用。

但是微软刚刚宣布,从VS2012 Update 2开始,Premium SKU用户将能够使用Fakes和Stubs。我很高兴!

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

+0

是的!我也看到了!那很棒!无论如何,我没有时间摆弄它,但我很高兴自从它现在在这里以来,我没有浪费时间。 –

+0

当我想使用它时,我正在考虑伪造这样的原生打印,文件或网络或其他功能,我没有Shim库(因为.NET的类可以非常方便以至于不需要任何图层最重要的是)。我猜这个用法很好,但总的来说,有人应该小心设计可测试的代码。 –

+0

当我在Assembly Reference的上下文菜单中看到“Add Fakes Assembly”时,我认为我在'Matrix'中找到了一个小故障。它更好,它不是一个错误,但它现在正式支持。 –

0

我们必须弄清楚如何在Visual Studio 2012中安装该主机适配器!

+0

如果我打算进一步研究这个问题,我会了解如何在VS2010中构建自定义测试主机适配器,然后了解如何在VS2012中构建自定义测试主机适配器,观察注册差异以及不同的接口需求。 以下是一些可能对您有用的链接: 编写Visual Studio 2012单元测试适配器 - [link](http://blogs.msdn.com/b/visualstudioalm/archive/2012/07/31/ (VS2005-VS2010) - [链接](http://msdn.microsoft.com/zh-cn/library/default.aspx)(http://msdn.microsoft.com/zh-cn/library/default.asp?displaylang=zh-cn) /bb166558(v=vs.90).aspx) – JoeKir

+0

如果我有时间,我会深入研究。另一个想法:也许我可以检验VS2011测试版,它是如何的。如果界面没有改变,我们可以抓住必要的dll,将它们放到正确的位置,并在注册表和VS以及一些配置中进行一些注册工作。甚至可能是一些VS2012 beta/RCs。但恐怕现在已经过期了。 –

+0

我只是不知道主机适配器是否足够。一旦一切就绪,它肯定会允许运行测试。更具体地说:我们将如何添加允许生成Moles程序集的功能(当您点击鼠标右键并有'添加Moles程序集'时)?这是由主机适配器提供吗?我只有在12月底之后才会有这个时间。 –

相关问题