2008-09-24 23 views
5

我已經使用NUnit幾年了。我已經嘗試了MBUnit以及Zenebug和XUnit,但我一直回到NUnit。最喜歡的.NET單元測試框架

你最喜歡/最常用的單元測試框架是什麼?你能解釋你爲什麼使用它?

+1

看看這個(德國)民意調查:[鏈接](http://windowsdeveloper.de/polls/ Welles-NET-Unit-Testing-Framework-verwenden-Sie-172659) – khlr 2014-04-13 09:27:11

回答

20

Nunit的勝利!它很簡單,易於實施。沒有混亂,沒有大驚小怪。

3

我已經使用了Nunit很長一段時間,但我碰巧喜歡烤到VS的東西。所以,我現在使用MSUnit。只需要在VS中安裝較少的加載項。

2

我喜歡xUnit,因爲它使用構造函數和Dispose方法,而不必將屬性應用於其他方法進行初始化和所有這些。

7

MbUnit

我喜歡它處理報告的方式,我很期待一些即將推出的功能,我聽說過,比如使用JsUnit整合。

1

我曾經使用NUnit,但現在我更喜歡Visual Studio 2008自帶的框架,僅僅因爲它具有更緊密的集成並且更容易設置爲測試私有方法。

我們在保持NUnit版本與團隊其他成員同步方面也有問題。這是一個小小的煩惱(去升級,或修復項目引用),但它隨着開關而消失。

+3

我會盡量不直接測試私有方法。內部測試通常不是你關心的。我採取黑匣子的方法:一些輸入給了我一些應該是正確的輸出。 – casademora 2008-10-05 18:04:05

3

NUnit的。我們可以在CC上使用它。

2

MbUnit與NUnit具有兼容的語法,但具有更多功能(特別是數據驅動的測試)。

+0

您能詳細說明一下 - 您最喜歡什麼功能 – 2008-09-24 15:57:54

4

Gallio看起來像一旦它變得更加穩定(目前爲alpha)就會變得很棒。

它不僅僅是一個測試框架,而是一個測試自動化平臺,因此它可以與許多現有的測試框架(MbUnit,NUnit,xUnit.net)一起使用,但是可以完全擴展,並具有許多內置的附加功能,例如作爲多種格式和代碼分析工具生成報告。

我還聽說,這將能夠

  • 輸出圖像流,因此,例如華廷測試失敗可以像截圖輸出,所以你可以看到什麼狀態瀏覽器在測試時失敗。
  • 過濾器通過命名空間,所以你可以很容易地運行它們

編輯之前取消對整個命名空間測試:的確是出阿爾法現在。我們已經在我們公司嘗試過了,我們非常討厭它。使用起來很糟糕,速度很慢。多可惜。

+0

+1但它不再是alpha – 2009-04-23 03:33:21

6

我已經使用nUnit多年了,但當我們轉移到VS2008和TFS 2008(使用TeamBuild)時,我們決定嘗試MSTest。這裏沒有太大的抱怨......我們真的很喜歡它與IDE以及CI構建服務器的集成度。

我們正在嘗試的一件看起來具有驚人潛力的新事物是來自Microsoft Research的另一個名爲Pex(需要VS2008)的附加組件。正如他們所說的那樣:「Pex通過基於動態符號執行的自動探索性測試,從手寫參數化單元測試生成單元測試。」我的說法是:這個東西對你的單元測試和目標代碼以及codegen的單元測試進行靜態分析,以實現超高代碼覆蓋率(如果你手工操作,這通常是不切實際的)。

2

在Resharper中對NUnit測試的支持非常好,並且爲我離開NUnit設置了非常高的標準。我可以直接從Visual Studio運行解決方案中的所有測試,或者我可以深入研究並專注於特定的測試。當我的代碼簽入時,我的持續集成構建運行相同的測試。這讓我對我的開發過程充滿信心。

2

MSTest的

http://en.wikipedia.org/wiki/MSTest

我不知道這是否是我最喜歡的(還沒有真正嘗試過很多其他人),但因爲它是內置到Visual Studio很方便。

1
  1. 的xUnit - 禮少,帶動了數據支持測試和其他的一些推廣
1

我一直在使用NUnit了大約4年了,肯定會推薦使用它。 Reshaper - JetBrains提供的VisualStudio插件包含一個UnitTestRunner,它與VisualStudio很好地集成,並允許您直接從IDE運行/調試您的測試。 Resharper,NUnit和RhinoMocks是我首選的UnitTesting工具套件。

1

我已經使用NUnit以及MS測試。我喜歡MS Test與IDE的集成以及代碼覆蓋的額外好處。但由於性能原因以及諸如流利的斷言之類的事情,我寧願使用NUnit over MS測試。

您可以使用名爲Should的庫編寫框架不可知的斷言。如果你喜歡流暢的界面,它也有非常好的流利語法。我有一個相關的博客文章。

http://nileshgule.blogspot.com/2010/11/use-should-assertion-library-to-write.html

如果我們使用類似應斷言然後進行測試的兩個版本幾乎lokks相同,我看不出這兩個框架太大的區別。

我在我的blog之一中完成了NUnit和MSTest單元測試框架的比較。