NUnit詳細使用方法二

發表于:2012-01-09來源:未知作者:娃娃點擊數: 標簽:nunit
2.NUnit的介紹 NUnit是一個單元測試框架,專門針對于.NET來寫的.其實在前面有JUnit(Java),CPPUnit(C++),他們都是xUnit的一員.最初,它是從JUnit而來.現在的版本是2.2.接下來我所用的都是基于這個版本. NUnit最初是由James W. Newkirk, Alexei A

  2.NUnit的介紹

  NUnit是一個單元測試框架,專門針對于.NET來寫的.其實在前面有JUnit(Java),CPPUnit(C++),他們都是xUnit的一員.最初,它是從JUnit而來.現在的版本是2.2.接下來我所用的都是基于這個版本.

  NUnit最初是由James W. Newkirk, Alexei A. Vorontsov 和Philip A. Craig, 后來開發團隊逐漸龐大起來.在開發過程中, Kent Beck 和Erich Gamma2位牛人也提供了許多幫助.看來對于NUnit還真是下了一番力氣了.JNUnit是xUnit家族種的第4個主打產品,完全由C#語言來編寫,并且編寫時充分利用了許多.NET的特性,比如反射,客戶屬性等等.

  最重要的一點是它適合于所有.NET語言.

  如果你還沒有下載,可以到http://www.nunit.org/去下載.

  2.1 NUnit的介紹

  Ok,下面正式講解NUnit.在講解之前,看看幾張圖片:

  圖1 NUnit運行的效果

  圖2 NUnit運行的另外一個效果

  從中我們可以非常容易發現,右邊是個狀態條,圖1是紅色的,圖2是綠色的.為什么會這樣呢?因為如果所有測試案例運行成功,就為綠色,反之如果有一個不成功,則為紅色,但也有黃色的.左面的工作域內則是我們寫的每一個單元測試.

  通過上面的圖片,我想你對NUnit有個總的了解了.

  接下來還是分為2個部分,一是NUnit的布局,另外一部分就是它的核心概念.

  首先熟悉一下NUnit GUI的布局.

  讓我們更進一步看一下測試運行器窗口的布局。在右邊面板的中間,可以看到測試進度條。進度條的顏色反映了測試執行的狀態:

  綠色 描述目前所執行的測試都通過

  黃色 意味某些測試忽略,但是這里沒有失敗

  紅色 表示有失敗

  底部的狀態條表示下面的狀態:

  狀態.說明了現在運行測試的狀態。當所有測試完成時,狀態變為Completed.運行測試中,狀態是Running: (是正在運行的測試名稱)。

  Test Cases說明加載的程序集中測試案例的總個數。這也是測試樹里葉子節點的個數。

  Tests Run 已經完成的測試個數。

  Failures 到目前為止,所有測試中失敗的個數.

  Time 顯示運行測試時間(以秒計)

  File主菜單有以下內容:

  New Project允許你創建一個新工程。工程是一個測試程序集的集合。這種機制讓你組織多個測試程序集,并把他們作為一個組對待。

  Open 加載一個新的測試程序集,或一個以前保存的NUnit工程文件。

  Close關閉現在加載的測試程序集或現在加載的NUnit工程。

  Save 保存現在的Nunit工程到一個文件。如果正工作單個程序集,本菜單項允許你創建一個新的NUnit工程,并把它保存在文件里。

  Save As允許你將現有NUnit工程作為一個文件保存。

  Reload 強制重載現有測試程序集或NUnit工程。NUnit-Gui自動監測現加載的測試程序集的變化。

  當程序集變化時,測試運行器重新加載測試程序集。(當測試正運行時,現在加載的測試程序集不會重新加載。在測試運行之間測試程序集僅可以重新加載。一個忠告:如果測試程序集依賴另外一個程序集,測試運行器不會觀察任何依賴的程序集。對測試運行器來說,強制一個重載使全部依賴的程序集變化可見。

  Recent Files 說明5個最近在NUnit中加載的測試程序集或NUnit工程(這個列表在Windows注冊表,由每個用戶維護,因此如果你共享你的PC,你僅看到你的測試)。最近程序集的數量可以使用Options菜單項修改,可以訪問Tool主菜單。

  Exit退出。

  View菜單有以下內容:

  Expand一層層擴展現在樹中所選節點

  Collapse 折疊現在樹中選擇的節點

  Expand All遞歸擴展樹中所選節點后的所有節點

  Collapse All遞歸折疊樹中所選節點后的所有節點

  Expand Fixtures擴展樹中所有代表測試fixture的節點。

  Collapse Fixtures 折疊樹中所有代表測試fixture的節點。

  Properties 顯示樹中現所選節點的屬性。

  Tools 菜單由這些項:

  Save Results as XML作為一XML文件保存運行測試的結果。

  Options讓你定制NUnit的行為。

  現在看看右邊,你已經熟悉Run按鈕和進度條。這里還有一個緊跟Run按鈕的Stop按鈕:點擊這個按鈕會終止執行正運行的測試。進度條下面是一個文本窗口,在它上方,由以下4個標簽:

  Errors and Failures 窗口顯示失敗的測試。在我們的例子里,這個窗口是空。

  Tests Not Run 窗口顯示沒有得到執行的測試。

  Console.Error 窗口顯示運行測試產生的錯誤消息。這些此消息是應用程序代碼使用Console.Error輸出流可以輸出的。

  Console.Out窗口顯示運行測試打印到Console.Error輸出流的文本消息。

  2.2 一些常用屬性

  接下來,我將講述這個框架如何使用.同時也涉及到一些非常重要的概念,我想其客戶屬性是非常重要的.在NUnit里,有以下幾種屬性:

  Test Fixture

  Test

  下面我將對每種屬性一一講解.

  TestFixtureAttribute

  本屬性標記一個類包含測試,當然setup和teardown方法可有可無.(關于setup 和teardown方法在后面介紹)

  做為一個測試的類,這個類還有一些限制

  必須是Public,否則NUnit看不到它的存在.

  它必須有一個缺省的構造函數,否則是NUnit不會構造它.

  構造函數應該沒有任何副作用,因為NUnit在運行時經常會構造這個類多次,如果要是構造函數要什么副作用的話,那不是亂了.

原文轉自:http://www.anti-gravitydesign.com

国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97