2011-08-05 74 views
5

我一直在F#項目中使用Pex的努力,但我面對的,我希望得到一些幫助幾個問題:的Pex和F#在Visual Studio 2010旗艦版

  1. Visual Studio中的Pex插件工作半小時,而不是複雜的項目探索。

  2. 之後,每次我在Visual Studio 2010中運行Pex Exploration時,都會收到!warning! [metadata] no explorations found after applying all filters; did you forget a [PexClass] or [PexMethod] attribute?錯誤消息。如果我在進行探索時複製和粘貼由visual studio運行的命令並刪除一些屬性(如sourceFilter ...)並從命令控制檯運行它,則會生成一些生成的測試。任何想法爲什麼visual studio產生一個無效的命令?

  3. 經過一段時間Microsoft.Pex.Framework.dll要麼從.Net參考列表中消失,我必須使用其文件路徑手動引用它,否則我甚至不能再引用它,我必須卸載/重新安裝Pex。當我對C#項目工作不發生(A reference to C:\Program Files (x86)\Microsoft Moles\PublicAssemblie\Microsoft.Pex.Framework.dll could not be added. Please make sure that the file is accessible, and that it is a valid assembly or COM component.

所有這些問題。

問題1 2 3發生在學術版本中。

使用可用於MSDN訂閱服務器的版本我從來沒有在Visual Studio(Visual Studio 2010 Ultimate NO SP1)中使用它。然而它從命令提示符起作用。這個版本我沒有面對問題3。

有沒有人設法讓Pex在Visual Studio中與F#一起工作?如果是的話,你能告訴我你是如何做到的嗎?你使用哪個版本(VS和Pex)?

+0

想要試試他們的論壇在http://social.msdn.microsoft.com/Forums/en-US/pex/threads/ – GregC

+0

你可以搜索這些論壇以查詢過去的問題和答案;但該論壇已被存檔,有利於在StackOverflow發佈問題。參考:http://bit.ly/nj252B –

+0

謝謝你們我創建了一個Pex.exe的包裝器,我不使用Visual Studio與F#項目集成:/ – Nicolas

回答

1

我已經有一些成功運行與F#Pex。我使用的版本(如果我相信我的Downloads文件夾)是Microsoft Pex和Moles 0.94.51006.1 Release for(x86)的學術版本。安裝文件名爲pex.academic.x86.msi。

我不知道該版本是否早於您的版本。

我對我的測試印象是,Pex和F#不是一個很好的組合:Pex堅持創建空輸入測試用例。由於在F#中生成空值並不常見,這通常不是我感興趣的場景。添加大量的假設來消除這些讓Pex不能生成測試用例的問題。無可否認,我測試的功能太複雜了,我仍然喜歡Pex背後的想法,並可能再次嘗試使用更小或更簡單的代碼。

在VS 2010中使用Pex和它的GUI工作得相當好,但並非沒有挫敗感。

相關問題