2012-10-02 118 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月底之後纔會有這個時間。 –

相關問題