>(Addison-Wesley Professional,2003)一書中,使用下面2個(gè)原則來定義TDD:">
您的位置:軟件測試 > 開源軟件測試 > 開源單元測試工具 > Nunit
NUnit詳細(xì)使用方法
作者:網(wǎng)絡(luò)轉(zhuǎn)載 發(fā)布時(shí)間:[ 2012/12/7 11:44:36 ] 推薦標(biāo)簽:

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

   2.NUnit的介紹

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

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

  重要的一點(diǎn)是它適合于所有.NET語言.

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

  2.1 NUnit的介紹

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

   圖1 NUnit運(yùn)行的效果

   圖2 NUnit運(yùn)行的另外一個(gè)效果

  從中我們可以非常容易發(fā)現(xiàn),右邊是個(gè)狀態(tài)條,圖1是紅色的,圖2是綠色的.為什么會這樣呢?因?yàn)槿绻袦y試案例運(yùn)行成功,為綠色,反之如果有一個(gè)不成功,則為紅色,但也有黃色的.左面的工作域內(nèi)則是我們寫的每一個(gè)單元測試.

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

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

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

  讓我們更進(jìn)一步看一下測試運(yùn)行器窗口的布局。在右邊面板的中間,可以看到測試進(jìn)度條。進(jìn)度條的顏色反映了測試執(zhí)行的狀態(tài):

  綠色 描述目前所執(zhí)行的測試都通過

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

  紅色 表示有失敗

  底部的狀態(tài)條表示下面的狀態(tài):

  狀態(tài).說明了現(xiàn)在運(yùn)行測試的狀態(tài)。當(dāng)所有測試完成時(shí),狀態(tài)變?yōu)镃ompleted.運(yùn)行測試中,狀態(tài)是Running: (是正在運(yùn)行的測試名稱)。

  Test Cases說明加載的程序集中測試案例的總個(gè)數(shù)。這也是測試樹里葉子節(jié)點(diǎn)的個(gè)數(shù)。

  Tests Run 已經(jīng)完成的測試個(gè)數(shù)。

  Failures 到目前為止,所有測試中失敗的個(gè)數(shù).

  Time 顯示運(yùn)行測試時(shí)間(以秒計(jì))

  File主菜單有以下內(nèi)容:

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

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

  Close關(guān)閉現(xiàn)在加載的測試程序集或現(xiàn)在加載的NUnit工程。

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

  Save As允許你將現(xiàn)有NUnit工程作為一個(gè)文件保存。

  Reload 強(qiáng)制重載現(xiàn)有測試程序集或NUnit工程。NUnit-Gui自動(dòng)監(jiān)測現(xiàn)加載的測試程序集的變化。

  當(dāng)程序集變化時(shí),測試運(yùn)行器重新加載測試程序集。(當(dāng)測試正運(yùn)行時(shí),現(xiàn)在加載的測試程序集不會重新加載。在測試運(yùn)行之間測試程序集僅可以重新加載。一個(gè)忠告:如果測試程序集依賴另外一個(gè)程序集,測試運(yùn)行器不會觀察任何依賴的程序集。對測試運(yùn)行器來說,強(qiáng)制一個(gè)重載使全部依賴的程序集變化可見。

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

上一頁123下一頁
軟件測試工具 | 聯(lián)系我們 | 投訴建議 | 誠聘英才 | 申請使用列表 | 網(wǎng)站地圖
滬ICP備07036474 2003-2017 版權(quán)所有 上海澤眾軟件科技有限公司 Shanghai ZeZhong Software Co.,Ltd