Nunit

Nunit

NUnit是一個單元測試框架,專門針對於.NET來寫的.其實在前面有JUnit(Java),CPPUnit(C++),他們都是xUnit的一員.最初,它是從JUnit而來

軟體介紹

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

NUnit最初是由James W. Newkirk, Alexei A. Vorontsov 和Philip A. Craig,開發團隊逐漸龐大起來.在開發過程中, Kent Beck 和ErichGamma2位牛人也提供了許多幫助.看來對於NUnit還真是下了一番力氣了

NUnit是xUnit家族種的第4個主打產品,完全由C#語言來編寫,並且編寫時充分利用了許多.NET的特性,比如反射,客戶屬性等等.

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

軟體特點

NUnit最初是由James W. Newkirk, Alexei A. Vorontsov 和Philip A. Craig, 後來開發團隊逐漸龐大起來.在開發過程中, Kent Beck 和Erich Gamma2位牛人也提供了許多幫助.看來對於NUnit還真是下了一番力氣了。

NUnit是xUnit家族種的第4個主打產品,完全由C#語言來編寫,並且編寫時充分利用了許多.NET的特性,比如反射,客戶屬性等等.

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

從中我們可以非常容易發現,右邊是個狀態條,圖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輸出流的文本訊息。

常用屬性:

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

Test Fixture

Test

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

TestFixtureAttribute

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

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

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

它必須有一個預設的構造函式,否則是NUnit不會構造它.

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

軟體界面

程式運行界面

相關詞條

相關搜尋

熱門詞條

聯絡我們