>(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)簽:

   Exit退出。

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

  Expand一層層擴(kuò)展現(xiàn)在樹中所選節(jié)點(diǎn)

  Collapse 折疊現(xiàn)在樹中選擇的節(jié)點(diǎn)

  Expand All遞歸擴(kuò)展樹中所選節(jié)點(diǎn)后的所有節(jié)點(diǎn)

  Collapse All遞歸折疊樹中所選節(jié)點(diǎn)后的所有節(jié)點(diǎn)

  Expand Fixtures擴(kuò)展樹中所有代表測試fixture的節(jié)點(diǎn)。

  Collapse Fixtures 折疊樹中所有代表測試fixture的節(jié)點(diǎn)。

  Properties 顯示樹中現(xiàn)所選節(jié)點(diǎn)的屬性。

  Tools 菜單由這些項(xiàng):

  Save Results as XML作為一XML文件保存運(yùn)行測試的結(jié)果。

  Options讓你定制NUnit的行為。

  現(xiàn)在看看右邊,你已經(jīng)熟悉Run按鈕和進(jìn)度條。這里還有一個(gè)緊跟Run按鈕的Stop按鈕:點(diǎn)擊這個(gè)按鈕會(huì)終止執(zhí)行正運(yùn)行的測試。進(jìn)度條下面是一個(gè)文本窗口,在它上方,由以下4個(gè)標(biāo)簽:

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

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

  Console.Error 窗口顯示運(yùn)行測試產(chǎn)生的錯(cuò)誤消息。這些此消息是應(yīng)用程序代碼使用Console.Error輸出流可以輸出的。

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

  2.2 一些常用屬性

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

  Test Fixture

  Test

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

  TestFixtureAttribute

  本屬性標(biāo)記一個(gè)類包含測試,當(dāng)然setup和teardown方法可有可無.(關(guān)于setup 和teardown方法在后面介紹)

  做為一個(gè)測試的類,這個(gè)類還有一些限制

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

  它必須有一個(gè)缺省的構(gòu)造函數(shù),否則是NUnit不會(huì)構(gòu)造它.

  構(gòu)造函數(shù)應(yīng)該沒有任何副作用,因?yàn)镹Unit在運(yùn)行時(shí)經(jīng)常會(huì)構(gòu)造這個(gè)類多次,如果要是構(gòu)造函數(shù)要什么副作用的話,那不是亂了.

   舉個(gè)例子
using System; 2
using NUnit.Framework; 3
namespace MyTest.Tests 4{ 5 6 [TestFixture] 7 public class PriceFixture 8 { 9 //
10 }11}

  TestAttribute

  Test屬性用來標(biāo)記一個(gè)類(已經(jīng)標(biāo)記為TestFixture)的某個(gè)方法是可以測試的.為了和先前的版本向后兼容,頭4個(gè)字符(“test”)忽略大小寫.(參看http://nunit.org/test.html)

  這個(gè)測試方法可以定義為:

  public void MethodName()

  從上面可以看出,這個(gè)方法沒有任何參數(shù),其實(shí)測試方法必須沒有參數(shù).如果我們定義方法不對的話,這個(gè)方法不會(huì)出現(xiàn)在測試方法列表中.也是說在NUnit的界面左邊的工作域內(nèi),看不到這個(gè)方法.還有一點(diǎn)是這個(gè)方法不返回任何參數(shù),并且必須為Public.

  例如:

using System; 2
using NUnit.Framework; 3
4
namespace MyTest.Tests 5{ 6 [TestFixture] 7 public class SuccessTests 8 { 9 [Test] public void Test1()10 { /**//*
*/ }11 }12}

  一般來說,有了上面兩個(gè)屬性,你可以做基本的事情了.

  另外,我們再對如何進(jìn)行比較做一個(gè)描述。

  在NUnit中,用Assert(斷言)進(jìn)行比較,Assert是一個(gè)類,它包括以下方法:AreEqual,AreSame,Equals

   3.如何在.NET中應(yīng)用NUnit

  我將舉個(gè)例子,一步一步演示如何去使用NUnit.

  第1步.為測試代碼創(chuàng)建一個(gè)Visual Studio工程。

  在Microsoft Visual Studio .NET中,讓我們開始創(chuàng)建一個(gè)新的工程。選擇Visual C#工程作為工程類型,Class Library作為模板。將工程命名為NUnitQuickStart.圖4-1是一個(gè)描述本步驟的Visual Studio .NET。

  圖 4-1: 創(chuàng)建第一個(gè)NUnit工程

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