2010-02-14 131 views
65

我想知道哪個單元測試框架是一個很好熟悉的單元測試框架?我知道這可能是一個意見問題,但我想我會問。我知道有一天我需要這樣做,所以我不妨學會使用它。我知道那裏有很多,但哪一個對C#開發有效?哪個單元測試框架?

this問題我可以看到單元測試是必要的,但是我個人並沒有使用它。所以我就問這個問題。

+0

這確實是一個糟糕的問題,應該以S&A結束。除了「嘿,我使用xyz,它真的很酷」之外,它也沒有包含任何好的答案,也不是任何尋找比較當前框架的人的寶貴資源。 – 2010-05-07 06:35:19

+0

http://stackoverflow.com/questions/261139/nunit-vs-mbunit-vs-mstest-vs-xunit-net – nawfal 2014-07-23 15:16:34

+0

我發現這是與我談論這個網站的人的主要問題之一。你有嚴格的關於提問被問題巨魔轟炸的規則,人們只是想問一個誠實的問題並得到一個很好的答案。如果你要策劃每個問題,也許應該反饋一些不好的答案,讓人們以他們想要的方式全面地從這個網站社區學習。這不是第一次,人們在這裏提出問題的次數不能那麼小。因此,制定一個更好的方法來解決這個問題,然後禁止人們在6個月內提問。 – Rob 2017-05-20 00:47:39

回答

48

就個人而言,我更喜歡在Visual Studio單元測試框架,主要有兩個原因:

  • 它無縫地與IDE集成;
  • 這是在開發環境中部署的少一個程序。

話雖如此,幾乎任何單元測試框架都可以做到這一點,重要的是要做測試!

+10

這個缺點是:你的TFS也需要一個VS許可證,如果你想(你這樣做!)持續集成構建運行測試。對於更大的商店或合作伙伴來說,這可能不成問題,但至少還有一件事需要考慮。 – mbx 2014-10-22 16:19:43

+5

NUnit現在支持與IDE無縫集成,不需要任何部署(如果使用NuGet)。 – 2015-08-25 14:27:35

+1

@mbx - TFS構建代理不需要VS許可證。 – Spivonious 2015-11-13 15:09:16

32

不要停留在選擇框架。只需選擇一個並開始測試 - 它們並不完全相同。當你寫了一段時間的測試後,你會知道要找什麼,以滿足你的需求。

就我個人而言,我發現xUnitTestdriven.NetMoq是一套非常靈活的測試工具。

也看到這個帖子:NUnit vs. MbUnit vs. MSTest vs. xUnit.net

+1

+1起訂量!愛那個框架。 – TrueWill 2010-02-14 20:47:57

0

有用於測試的幾個原因,因此一些測試環境。另外,還有一些測試級別,比如簡單,存根和模擬。例如,你可以測試行爲而不是狀態。

就功能而言,我通常使用在setup中構建的Visual Studio,添加對NUnit dll的引用,並將c#註釋更改爲NUnit。這是因爲我喜歡在Visual Studio之外進行測試,特別是當它涉及到我的團隊中的其他人時(我們還沒有購買VS的團隊版)。

2

我使用NUnit作爲測試框架,使用ReSharper將它集成到VS(以及ReSharper的其他所有功能)中。

+1

反射器或ReSharper? – TrueWill 2010-02-14 20:48:19

+1

哎呀。 ReSharper的。修正了,謝謝。 – 2010-02-15 09:23:15

1

使用MbUnit(帶有Gallio),NUnit,MsTest或xUnit。你可以組合幾個單元測試。我使用NUnit進行TDD

+0

這不適用於VS2015 – sweetfa 2016-09-16 21:43:24

5

我決定堅持使用NUnit,因爲ReSharper提供原生IDE支持(這可以節省大量時間)。 TeamCity也支持它運行和報告自動化測試。