來源:http://zxlovenet.cnblogs.com聲明:本文原創發表於博客園,作者為初行本文歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連接,否則視為侵權。從安裝到配置首先到官網http://www.nunit.org/下載如下圖的資料,安裝NUnit-2.6....
來源: http://zxlovenet.cnblogs.com
聲明: 本文原創發表於博客園,作者為初行本文歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連接,否則視為侵權。
從安裝到配置
首先到官網http://www.nunit.org/下載如下圖的資料,安裝NUnit-2.6.1.msi包。
然後掛在VS2010外部工具這個地方來使用,工具—>外部工具—>添加—>標題:Nunit—>命令:安裝路徑—>確定。
然後打開Nunit,工具—>Nunit。
VS2010 NUnit 整合插件 Visual Nunit 2010下載:
http://visualstudiogallery.msdn.microsoft.com/c8164c71-0836-4471-80ce-633383031099,下載安裝完畢就能在 VS2010 的 視圖->其它窗體 中看到 Visual Nunit了(或使用快捷鍵Ctrl + F7),打開該視圖,將之拖到合適的位置。打開如下圖,會自動載入測試的方法。
使用入門
建立項目如下圖(註意項目依賴,程式集引用):
1 2 3 4 5 6 7 8 9 10 11 |
//Number.cs
namespace BaseClass
{
public class Number
{
public static int TestMethod()
{
return 29;
}
}
}
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
//NunitTestClass.cs
namespace NunitTestClass
{
/// <summary>
/// 初行-博客園 http://zxlovenet.cnblogs.com
/// </summary>
/// 這是一個測試類
[NUnit.Framework.TestFixture]
public class NunberTest
{
//測試用的方法
//方法必須是public,返回類型void,無參
[Test]
public void GetTestAreEqual()
{
int test1 = BaseClass.Number.TestMethod();
//驗證test1的值必須是29才能通過
Assert.AreEqual(29, test1);
}
[Test]
public void GetTestGreater()
{
int test1 = BaseClass.Number.TestMethod();
//驗證test1de值必須大於0才能通過
Assert.Greater(test1, 30);
}
}
}
|
然後F6生成,找到生成文件如下圖:
VS2010下,工具—>Nunit,打開後 File—>New Project…,保存到一個位置,然後點Fiel—>Save。添加程式集:Project—>Add Assembly…,找到測試文件如下圖:
打開後的效果如圖:
點擊Run執行測試,效果如下圖:
通過上圖可以看出,通過測試的會打“√”,無法通過測試的打“×”。
讓我們更進一步看一下測試運行器視窗的佈局。在右邊面板的中間,可以看到測試進度條。進度條的顏色反映了測試執行的狀態:
l 綠色 描述目前所執行的測試都通過
l 黃色 意味某些測試忽略,但是這裡沒有失敗
l 紅色 表示有失敗
底部的狀態條表示下麵的狀態:
l 狀態.說明瞭現在運行測試的狀態。當所有測試完成時,狀態變為Completed.運行測試中,狀態是Running: <test-name> (<test-name>是正在運行的測試名稱)。
l Test Cases說明載入的程式集中測試案例的總個數。這也是測試樹里葉子節點的個數。
l Tests Run 已經完成的測試個數。
l Failures 到目前為止,所有測試中失敗的個數.
l Time 顯示運行測試時間(以秒計)
File主菜單有以下內容:
l New Project允許你創建一個新工程。工程是一個測試程式集的集合。這種機制讓你組織多個測試程式集,並把他們作為一個組對待。
l Open 載入一個新的測試程式集,或一個以前保存的NUnit工程文件。
l Close關閉現在載入的測試程式集或現在載入的NUnit工程。
l Save 保存現在的Nunit工程到一個文件。如果正工作單個程式集,本菜單項允許你創建一個新的NUnit工程,並把它保存在文件里。
l Save As允許你將現有NUnit工程作為一個文件保存。
l Reload 強制重載現有測試程式集或NUnit工程。NUnit-Gui自動監測現載入的測試程式集的變化。
當程式集變化時,測試運行器重新載入測試程式集。(當測試正運行時,現在載入的測試程式集不會重新載入。在測試運行之間測試程式集僅可以重新載入。一個忠告:如果測試程式集依賴另外一個程式集,測試運行器不會觀察任何依賴的程式集。對測試運行器來說,強制一個重載使全部依賴的程式集變化可見。
l Recent Files 說明5個最近在NUnit中載入的測試程式集或NUnit工程(這個列表在Windows註冊表,由每個用戶維護,因此如果你共用你的PC,你僅看到你的測試)。最近程式集的數量可以使用Options菜單項修改,可以訪問Tool主菜單。
l Exit退出。
l View菜單有以下內容:
l Expand一層層擴展現在樹中所選節點
l Collapse 摺疊現在樹中選擇的節點
l Expand All遞歸擴展樹中所選節點後的所有節點
l Collapse All遞歸摺疊樹中所選節點後的所有節點
l Expand Fixtures擴展樹中所有代表測試fixture的節點。
l Collapse Fixtures 摺疊樹中所有代表測試fixture的節點。
l Properties 顯示樹中現所選節點的屬性。
l Tools 菜單由這些項:
l Save Results as XML作為一XML文件保存運行測試的結果。
l Options讓你定製NUnit的行為。
l 現在看看右邊,你已經熟悉Run按鈕和進度條。這裡還有一個緊跟Run按鈕的Stop按鈕:點擊這個按鈕會終止執行正運行的測試。進度條下麵是一個文本視窗,在它上方,由以下4個標簽:
l Errors and Failures 視窗顯示失敗的測試。在我們的例子里,這個視窗是空。
l Tests Not Run 視窗顯示沒有得到執行的測試。
l Console.Error 視窗顯示運行測試產生的錯誤消息。這些此消息是應用程式代碼使用Console.Error輸出流可以輸出的。
l Console.Out視窗顯示運行測試列印到Console.Error輸出流的文本消息。
參考資料:http://confach.cnblogs.com/archive/2005/06/20/177817.aspx
總結
NUnit有這樣幾個優點
1.獨立於IDE,可以單獨運行。也可以以命令行方式運行。(vs應該也可以吧?)
2.版本更新快。(我不認為這是個優點,而且我也並不覺得快啊。)
3.VS的UT工具運行速度慢。(不一定)
NUite也有這樣幾個缺點
1.不支持Debug,要安裝TestDriven.NET才支持。
2.不支持代碼覆蓋率的查看,要和NCover一起用。而VS的代碼覆蓋很清楚。
3.不能自動生成測試代碼,也許和CodeSmith一起用好些,不過後著要收費的。