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

  第2步.增加一個(gè)NUnit框架引用

  在Microsoft Visual Studio .NET里創(chuàng)建這個(gè)例子時(shí),你需要增加一個(gè)NUnit.framework.dll引用,如下:

  在Solution Explorer右擊引用,然后選擇增加引用

  NUnit.framework組件,在Add Reference對(duì)話框中按Select和OK按鈕。

  圖4-2 描述了這步:

   圖 4-2: 增加一個(gè) NUnit.framework.dll 引用到工程

  第3步.為工程加一個(gè)類.

  為工程加一個(gè)NumbersFixture類。這里是這個(gè)例子的代碼。

  using System;
using NUnit.Framework;
namespace NUnitQuickStart

  {

  [TestFixture]

  public class NumersFixture

  {

  [Test]

  public void AddTwoNumbers()

  {

  int a=1;

  int b=2;

  int sum=a+b;

  Assert.AreEqual(sum,3);

  }

  }

  }

  第4步.建立你的Visual Studio 工程,使用NUnit-Gui測(cè)試

  從程序->NUnit2.2打開NUnit-gui,加載本本工程編譯的程序集.

  為了在Visual Studio .NET中自動(dòng)運(yùn)行NUnit-Gui,你需要建立NUnit-Gui作為你的啟動(dòng)程序:

  在 Solution Explorer里右擊你的NunitQuickStart工程。

  在彈出菜單中選擇屬性。

  在顯示的對(duì)話框的左面,點(diǎn)擊Configuration Properties夾

  選擇出現(xiàn)在Configuration Properties夾下的Debugging。

  在屬性框右邊的Start Action部分,選擇下拉框的Program作為Debug Mode值。

  按Apply按鈕

  設(shè)置NUnit-gui.exe 作為Start Application。,你既可以鍵入nunit-gui.exe的全路徑,也可使用瀏覽按鈕來(lái)指向它。

  圖4-3 幫助描述本步驟:

  圖 4-3:將NUnit-Gui 作為工程的測(cè)試運(yùn)行器

  第5步.編譯運(yùn)行測(cè)試.

  現(xiàn)在編譯solution。成功編譯后,開始應(yīng)用程序。NUnit-Gui測(cè)試運(yùn)行器出現(xiàn)。當(dāng)你第一次開始NUnit-Gui,它打開時(shí)沒(méi)有測(cè)試加載。從File菜單選擇Oprn,瀏覽NUnitQuickStart.dll的路徑。當(dāng)你加載了測(cè)試的程序集,測(cè)試運(yùn)行器為加載的程序集的測(cè)試產(chǎn)生一個(gè)可見(jiàn)的表現(xiàn)。在例子中,測(cè)試程序集僅有一個(gè)測(cè)試,測(cè)試程序集的結(jié)構(gòu)如圖4-4所示:

  圖 4-4: 測(cè)試程序集的測(cè)試在 NUnit-Gui中的視圖

  按Run按鈕。樹的節(jié)點(diǎn)變?yōu)榫G色,而且測(cè)試運(yùn)行器窗口上的進(jìn)度條變綠,綠色代表成功通過(guò)。

   4.其他的一些核心概念

  上面的例子介紹了基本的NUnit特性和功能. TestFixture, Test, 和 Assert是3個(gè)基本的特征,我們可以用這些特性進(jìn)行程序員測(cè)試了.但是有的時(shí)候,你覺(jué)得這3個(gè)遠(yuǎn)遠(yuǎn)不夠,比如有的時(shí)候打開一個(gè)數(shù)據(jù)庫(kù)連接多次,有沒(méi)有只讓它打開一次的方法呢?如果我想把測(cè)試分類,應(yīng)該怎樣實(shí)現(xiàn)呢?如果我想忽略某些測(cè)試,又應(yīng)該如何去完成呢?不用擔(dān)心,NUnit已經(jīng)有這樣的功能了.

  下面我們一一作出回答.

  SetUp/TearDown 屬性

  在早期給的test fixture定義里,我們說(shuō)test fixture的測(cè)試是一組常規(guī)運(yùn)行時(shí)資源.在測(cè)試完成之后,或是在測(cè)試執(zhí)行種,或是釋放或清除之前,這些常規(guī)運(yùn)行時(shí)資源在一確定的方式上可能需要獲取和初始化.NUnit使用2個(gè)額外的屬性:SetUp 和TearDown,支持這種常規(guī)的初始化/清除.我們上面的例子來(lái)描述這個(gè)功能.讓我們?cè)黾映朔?

  using System;
using NUnit.Framework;
namespace NUnitQuickStart

  {

  [TestFixture]

  public class NumersFixture

  {

  [Test]

  public void AddTwoNumbers()

  {

  int a=1;

  int b=2;

  int sum=a+b;

  Assert.AreEqual(sum,3);

  }

  [Test]

  public void MultiplyTwoNumbers()

  {

  int a = 1;

  int b = 2;

  int product = a * b;

  Assert.AreEqual(2, product);

  }

  }

  }

  我們仔細(xì)一看,不對(duì),有重復(fù)的代碼,如何去除重復(fù)的代碼呢?我們可以提取這些代碼到一個(gè)獨(dú)立的方法,然后標(biāo)志這個(gè)方法為SetUp 屬性,這樣2個(gè)測(cè)試方法可以共享對(duì)操作數(shù)的初始化了,這里是改動(dòng)后的代碼:

  using System;
using NUnit.Framework;
namespace NUnitQuickStart

  {

  [TestFixture]

  public class NumersFixture

  {

  private int a;

  private int b;

  [SetUp]

  public void InitializeOperands()

  {

  a = 1;

  b = 2;

  }

  [Test]

  public void AddTwoNumbers()

  {

  int sum=a+b;

  Assert.AreEqual(sum,3);

  }

  [Test]

  public void MultiplyTwoNumbers()

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