2013-03-06 153 views

回答

0

我同意 - 所有三個都很好。它可能沒有達到要求,但很難找到好的Mocking Framework,因爲模擬DbContext類並不容易(尤其是當您使用Sql Server時)。如果你使用它,我可以推薦TypeMock,否則RhinoMocks會很好。

+0

你能解釋一下你在談論模擬DbContext時的意思嗎? – 2013-03-06 20:19:56

+0

你是什麼意思DbContext不容易嘲笑使用Sql Server特別是?基於我所知道的,你可以模擬DbContext,所以你不會碰到實際的數據庫,這意味着你可以在沒有數據庫的情況下進行測試。 – 2014-01-26 13:14:48

0

我建議xUnit。這是一個非常現代的單元測試框架,非常簡單和簡潔。我最喜歡xUnit的特性是每個測試方法都有一個對象實例,這意味着你不太可能讓測試互相影響。 NUnit例如沒有這個功能,這很容易導致片狀測試。此外,xUnit使用標準.NET功能來執行安裝和拆卸等操作。它通過構造函數和析構函數來實現,所以你不必學習新的約定,但可以使用自己的約定。最後,xUnit測試類看起來好多了恕我直言,因爲使用的屬性較少,斷言方法較短。

0

你提到的所有三個都是非常紮實的,將完成工作。我個人更喜歡MSTest。學習和使用簡單,但它具有體面的功能。就像xUnit一樣,它也可以在預執行和執行測試後設置[TestInitialize]和Clean [TestCleanup]。我的建議是採取一個並學習它。一旦你瞭解了它並且瞭解它的長處和短處,你就可以轉向另一個能夠幫助你更快和/或更好地完成工作的工作。

1

我只會建議不要使用MSTest。

在我目前的項目中,我們使用了MSTest約一年。我一直在使用NUnit多年,但其他人對於單元測試是新手,爲了讓它們更簡單(不將第三方測試框架與它的跑步者結合在一起),我們使用了MSTest,並將它集成到VS.這是PITA!

隨着MSTEST,你必須保存所有VS測試的列表。你必須維護這個列表(添加/刪除新的/刪除的測試)。測試從這個列表中消失,你不能說爲什麼。保持此列表的文件不合並!因此,當您在添加新測試的同時另一個人添加測試時,您必須解決衝突。我不明白爲什麼。它應該合併沒有問題。

你也可以找一些爲什麼不使用MSTEST的原因。

Why I'm migrating from MSTest to xUnit.net by Mark Seemann