我們一直在研究如何使用新的Fakes framework來幫助我們提高在.net 4.0框架下運行的一些遺留代碼的測試覆蓋率。不幸的是,似乎我們將無法升級到.net 4.5。我說我們不能在.net 4.0(和VS2012)中使用Fakes框架並且我們需要使用現在不支持的Moles框架,這樣我才能正確嗎?Microsoft Fakes和.Net 4.0
回答
儘管我不是一般鼴鼠的粉絲,但我明白他們可以幫助他們獲得有關遺留代碼的測試。以下是一些您可以考慮的其他工具。但嚴重的是,我討厭這些類型的框架,因爲正確的做法是編寫可測試的代碼並重構不是的代碼(我明白這並非易事,也不可能)。我認爲痣擺脫的單元測試的主要好處之一,是它迫使你編寫好的代碼,這裏討論的:
這裏有兩件事情考慮:
還有JustMock的免費,精簡版,不知道它包含。
我知道這不是你問的問題,而是你考慮/評估過非微軟模擬框架嗎?
Rhino.Mocks是令人難以置信的流行和強大,FakeItEasy是growing in adoption。它的文檔並不豐富,但它非常直觀且易於使用。
由於我們正在處理遺留代碼,因此我們大多數的依賴關係並沒有很好地抽象出來,因此我們需要Moles/Fakes的繞道功能來嘲笑它作爲選項(它們是我們使用Moq的地方)。 – gmancoll
我測試3.5假裝,假貨測試它自我編譯爲4.5。我還沒有試過將它們編譯爲3.5,但不打算在部署機器上運行。
Microsoft Fakes框架支持與Visual Studio 2012本身相同的.NET版本。這包括版本4.5,4.0,3.5,3.0和2.0。
您應該使用Visual Studio 2012 Ultimate或Premium Update 2來使用Microsoft Fakes,並且單元測試可以將早期版本的.NET框架作爲目標。
- 1. Microsoft Fakes「不支持裝配」
- 2. dotNetInstaller和.NET 4.0
- 3. CCNet和.Net 4.0
- 4. .NET和.NET 4.0的Microsoft POS在調試時掛起
- 5. .Net 4.0和.Net 4.5
- 6. Log4Net和.NET 4.0
- 7. WCF和.NET 4.0
- 8. .NET 4.0和CrystalReports
- 9. Microsoft Fakes可以用於Visual Studio 2010嗎?
- 10. Microsoft Fakes框架中的「StubsBehaviors.DefaultValue」在哪裏?
- 11. 使用Microsoft Fakes進行模擬
- 12. Hoow to shim DbEntityEntry <TEntry> with Microsoft Fakes
- 13. 嘲笑Microsoft Fakes的功能嗎?
- 14. 如何使用Microsoft Fakes來模擬User.Identity.Name
- 15. .NET 4.0應用程序使用Microsoft ADO Ext。 6.0 DDL和安全
- 16. SQL CLR和.NET 4.0
- 17. log4net和.net Framework 4.0
- 18. nServiceBus .Net 4.0和MEF
- 19. Log4Net和.NET 4.0 RC
- 20. InfoPath 2007和.NET 4.0
- 21. Microsoft CRM 4.0標註
- 22. 構建.NET 4.0和詹金斯
- 23. Svcutil.exe for .NET 4.0?
- 24. asp .net 4.0會員和mysql
- 25. 的xUnit 1.9.2和.NET 4.0
- 26. 異步BCL和.net 4.0
- 27. ReportViewer,Scriptmanager和.NET 4.0崩潰
- 28. SQL Server 2008和.Net 4.0?
- 29. SQL Server 2012和.NET Framework 4.0
- 30. .NET 4.0和Windows 7 PerformanceCounters
謝謝吉姆。我們非常認識到這些工具是最後的手段,任何從頭開始編寫的代碼都將在設計時考慮到測試並正確管理相關性。對我們來說,重構整個代碼庫並不實際,這就是爲什麼我們要看這些類型的隔離框架。 – gmancoll