2009-06-19 122 views
1

我在.NET Framework 3.5中有一個項目,正如我所見,nUNIT目前還不支持它。你會推薦什麼單元測試框架來滿足我的需求?.NET Framework 3.5的單元測試框架?

+0

爲什麼你需要明確支持.NET 3.5?畢竟,它仍然是2.0 CLR,如果我沒有記錯的話,NUnit支持2.0。 – OregonGhost 2009-06-19 08:25:24

+0

這是什麼意思?我有.NET 3.5項目和nUnit 3.5我得到NullReferenceException。所以它似乎不支持 – 2009-06-19 08:52:21

+0

我們已經在一個3.5項目上使用了NUnit 15個月。它工作得很好。但是,您是否嘗試過在3.5中使用一個簡單的Assert.IsTrue(true)在單個測試中創建一個新項目?這應該消除它在你的代碼中的可能性。 – 2009-06-20 07:09:09

回答

8

NUnit在.NET 3.5中運行得非常好 - 自從VS2008的測試版以來,我一直在使用它(使用ReSharper運行測試)。

+0

@ Tomaszs-我也在.NET 3.5中使用了NUnit。你需要記住,.NET 3.5實際上是CLR 2.0 +一些額外的DLL。 – RichardOD 2009-06-19 08:29:30

+0

您好,我創建了示例解決方案,當我嘗試在NUnit 2.5中運行它時,出現錯誤:System.NullReferenceException ... at NUnit.Util.TestLoader.ReloadTest(RuntimeFramework framework) – 2009-06-19 08:44:05

+0

您是否要發佈鏈接到這個解決方案?你有沒有提醒NUnit團隊呢?它是否只適用於.NET 2.0?感覺就像你在這裏匆忙到一個無理的結論。 – 2009-06-19 08:56:27

3

我一直在嘗試Gallio,它似乎很好地工作。它與ReSharper的單元測試跑步者也很好。

[編輯]

只是想我會提到公堂是從MbUnit的下一個演進步驟,所以它不是一個完全新的東西。

1

正如喬恩所說NUnit與3.5正常工作。

有你需要記住的幾件事情:

  1. 還有,當你升級到框架的後續版本,通常是由於使用過時一些(很少)晦澀的重大更改API或非標準方法。根據我的經驗,一旦你捕捉到來自哪裏,修復這些突破性變化通常是相當簡單的。

  2. 如果你在使用NUnit時遇到了一個特殊的錯誤,請將它隔離在一個小小的測試套件中。在尋找錯誤時,我通常認爲它是我的錯,通常我是對的。

  3. nunit的源代碼在那裏,您可以編譯和調試問題。一般而言,測試框架非常簡單直觀,易於遵循。

  4. 還有很多其他的單元測試框架。更有見地的XUnit框架越來越受歡迎。就個人而言,我喜歡fluent assertions,但它的個人品味也可以通過NUnit實現。

  5. 您可以隨時回到微軟內置的單元測試框架,該框架隨附VS.

+1

fluent斷言部分被提取到它自己的名爲Should Assertion Library的庫中,或者簡單地稱爲Should。您可以使用名爲Should的庫編寫框架不可知的斷言。如果你喜歡流暢的界面,它也有非常好的流利語法。我有一個相關的博客文章。 http://nileshgule.blogspot.com/2010/11/use-should-assertion-library-to-write.html – 2010-11-16 17:07:33

3

其他一些單元測試工具.NET 3.5將是:

  • MS測試 - 在Visual Studio中內置的單元測試框架。它的聲譽並不差。
  • xUnit.NET,它有一個非常好的API。
+0

-1爲mstest,但+ 2爲xunit ;-) – 2009-06-20 20:19:16

0

我得到同樣的空引用錯誤,全新的3.5項目,一個簡單的Assert.IsTrue(真)....當我嘗試集添加到我的NUnit的項目guirunner我得到:

System.NullReferenceException ... 在NUnit.Util.TestLoader.ReloadTest(RuntimeFramework框架)

1

就個人而言,我使用MSTest的,因爲它是內置到Visual Studio。它使得它很容易,因爲你不需要安裝任何東西來使用它。

3

我遇到了這個問題,並且能夠在NUnit 2.5中解決它。

在NUnit的GUI,打開下工具>設置Visual Studio的支持...

現在,選擇文件>打開項目...從「項目&大會」到「解決方案」更改文件篩選器,加載你的解決方案文件你應該能夠運行你所有的測試。

現在選擇File>另存爲...,當前設置保存爲NUnit的項目。您現在可以進入項目>編輯...並刪除非測試程序集或進行任何其他需要的更改。

+0

我有同樣的問題:/但你的解決方案爲我工作。 感謝! – 2009-08-12 13:21:00

+0

第二次我不得不查找這個答案。謝謝!!! – 2010-06-03 12:38:06

0

內置的.NET Framework 3.5的dll後,如果我們在NUnit的使用它,它工作正常,但如果你想NUnit的與Visual Studio IDE集成,您需要更改,以執行配置文件。但我不知道如何做到這一點