• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
  • NUnit2.0詳細使用方法

    發表于:2008-01-21來源:作者:點擊數: 標簽:單元測試nunitNUnit
    前一段時間,有人問我在.NET里如何進行 TD D開發.這個問題促使我想對NUnit做一個詳細的介紹.因為我們大家都知道NUnit是在.NET進行 TDD 的利器. 如果你已經知道很多關于NUnit的應用,請指出我的不對之處和提出一些建議,使本文更加完善.如果你對NUnit還不是很了
    前一段時間,有人問我在.NET里如何進行TDD開發.這個問題促使我想對NUnit做一個詳細的介紹.因為我們大家都知道NUnit是在.NET進行TDD的利器.
    如果你已經知道很多關于NUnit的應用,請指出我的不對之處和提出一些建議,使本文更加完善.如果你對NUnit還不是很了解的話,我建議你還是閱讀一下.
    本文分為以下部分:

    1. TDD的簡介

    首先什么是TDD呢?Kent Beck在他的<<測試驅動開發 >>(Addison-Wesley Professional,2003)一書中,使用下面2個原則來定義TDD:
    ·除非你有一個失敗的自動測試,永遠不要寫一單行代碼.
    ·阻止重復
    我想第一個原則是顯而易見的.在沒有失敗的自動測試下就不要寫代碼.因為測試是嵌入在代碼必須滿足的需求中.如果沒有需求,就沒有必要實現任何東西.所以這個原則阻止我們去實現那些沒有測試和在解決方案中不需要的功能.
    第二個原則說明了在一個程序中,不應該包含重復的代碼.如果代碼重復,我想這就是不好的軟件設計的象征.隨著時間的流逝,它會對程序造成不一致的問題,并且使代碼變非?;靵y ,因為我們時常不會記得重復代碼的位置.如果發現代碼重復,我想我們應該立即刪除代碼重復.其實這就涉及到重構了.在這里我就不多講了.
    一般來說,測試分為2種類型,一是程序員自己的測試,另外一種是客戶的測試.關于客戶測試,我推薦一個FIT的框架,非常不錯。在這里,我們講的TDD就是程序員測試.那么什么是程序員測試呢?我認為就是我們常說的單元測試.既然是單元測試,在.NET里勢必會用到某些工具,目前最著名恐怕就是我即將介紹的NUnit了,

    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還真是下了一番力氣了.J
    NUnit是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-name> (<test-name>是正在運行的測試名稱)。
    • 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的行為。

    原文轉自:http://www.kjueaiud.com

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>