回答
我同意 - 所有三個都很好。它可能沒有達到要求,但很難找到好的Mocking Framework,因爲模擬DbContext類並不容易(尤其是當您使用Sql Server時)。如果你使用它,我可以推薦TypeMock,否則RhinoMocks會很好。
我建議xUnit。這是一個非常現代的單元測試框架,非常簡單和簡潔。我最喜歡xUnit的特性是每個測試方法都有一個對象實例,這意味着你不太可能讓測試互相影響。 NUnit例如沒有這個功能,這很容易導致片狀測試。此外,xUnit使用標準.NET功能來執行安裝和拆卸等操作。它通過構造函數和析構函數來實現,所以你不必學習新的約定,但可以使用自己的約定。最後,xUnit測試類看起來好多了恕我直言,因爲使用的屬性較少,斷言方法較短。
你提到的所有三個都是非常紮實的,將完成工作。我個人更喜歡MSTest。學習和使用簡單,但它具有體面的功能。就像xUnit一樣,它也可以在預執行和執行測試後設置[TestInitialize]
和Clean [TestCleanup]
。我的建議是採取一個並學習它。一旦你瞭解了它並且瞭解它的長處和短處,你就可以轉向另一個能夠幫助你更快和/或更好地完成工作的工作。
我只會建議不要使用MSTest。
在我目前的項目中,我們使用了MSTest約一年。我一直在使用NUnit多年,但其他人對於單元測試是新手,爲了讓它們更簡單(不將第三方測試框架與它的跑步者結合在一起),我們使用了MSTest,並將它集成到VS.這是PITA!
隨着MSTEST,你必須保存所有VS測試的列表。你必須維護這個列表(添加/刪除新的/刪除的測試)。測試從這個列表中消失,你不能說爲什麼。保持此列表的文件不合並!因此,當您在添加新測試的同時另一個人添加測試時,您必須解決衝突。我不明白爲什麼。它應該合併沒有問題。
你也可以找一些爲什麼不使用MSTEST的原因。
- 1. MVC框架單元測試java
- 2. ASP.NET MVC - 單元測試與Moq框架RenderPartialViewToString()?
- 3. 哪個單元測試框架具有ASP.NET MVC擴展?
- 4. ASP.NET MVC單元測試
- 5. ASP.net MVC - FluentValidation單元測試
- 6. asp.net mvc nhibernate單元測試
- 7. 單元測試ASP.NET MVC
- 8. WPF單元測試框架
- 9. Zend框架單元測試
- 10. ColdFusion單元測試框架
- 11. iOS框架單元測試
- 12. ASP.NET MVC,知識庫,工作單元和實體框架單元測試
- 13. 具有ms單元測試框架的單元測試實體框架
- 14. 與ASP.NET MVC的單元測試和HttpContext.Current.Cache
- 15. ASP.NET MVC單元測試的HttpContext
- 16. 單元測試使用茉莉花單元測試框架node.js
- 17. Visual Studio單元測試框架教程?
- 18. 單元測試和實體框架
- 19. 調試ASP.NET MVC框架
- 20. .NET Framework 3.5的單元測試框架?
- 21. Visual Studio的C#單元測試框架?
- 22. xsl-fo的單元測試框架
- 23. C++的單元測試框架
- 24. Clojure的最佳單元測試框架?
- 25. Android的單元測試與JUnit框架
- 26. Django的REST框架單元測試
- 27. 開源的Flex單元測試框架
- 28. Android中的單元測試框架
- 29. CMake的C單元測試框架
- 30. MSTest的XML單元測試框架
你能解釋一下你在談論模擬DbContext時的意思嗎? – 2013-03-06 20:19:56
你是什麼意思DbContext不容易嘲笑使用Sql Server特別是?基於我所知道的,你可以模擬DbContext,所以你不會碰到實際的數據庫,這意味着你可以在沒有數據庫的情況下進行測試。 – 2014-01-26 13:14:48