您的位置:軟件測(cè)試 > 開(kāi)源軟件測(cè)試 > 開(kāi)源單元測(cè)試工具 > Nunit
NUnit入門(mén)學(xué)習(xí)資料
作者:網(wǎng)絡(luò)轉(zhuǎn)載 發(fā)布時(shí)間:[ 2014/2/18 9:18:56 ] 推薦標(biāo)簽:NUnit 開(kāi)源 單元測(cè)試

  下面再看一下C#代碼:
  using System;
  using System.Collections.Generic;
  using System.Text;
  using NUnit.Framework;

  namespace NUnitCS
  {
    [TestFixture]
    public class BookTest
    {
      Book book = null;

      [SetUp]
      public void Init()
      {
        Console.WriteLine("測(cè)試開(kāi)始!");
        book = new Book();
        Console.WriteLine("book對(duì)象被初始化!");
      }

      [Test]
      public void testId()
      {
        book.id = "001"; //設(shè)置id屬性的值為
        //使用Assert查看id屬性的值是否為
        Assert.AreEqual("001", book.id);
        Console.WriteLine("id屬性被測(cè)試!");
      }

      [Test]
      public void testName()
      {
        book.name = "ASP"; //設(shè)置name屬性的值為ASP
        //使用Assert查看name屬性的值是否為JSP,這是個(gè)必然出現(xiàn)錯(cuò)誤的測(cè)試
        Assert.AreEqual("JSP", book.name);
        Console.WriteLine("name屬性被測(cè)試!");
      }

      [TearDown]
      public void Dispose()
      {
        Console.WriteLine("book對(duì)象將被清理!");
        book = null;
        Console.WriteLine("測(cè)試結(jié)束!");
      }
    }
  }
沒(méi)什么好說(shuō)的吧?下面看J#代碼:
  package NUnitJS;

  import System.*;
  import NUnit.Framework.*;

  /** @attribute TestFixture() */
  public class BookTest
  {
    Book book = null;

    /** @attribute SetUp() */
    public void Init()
    {
      Console.WriteLine("測(cè)試開(kāi)始!");
      book = new Book();
      Console.WriteLine("book對(duì)象被初始化!");
    }

    /** @attribute Test() */
    public void testId()
    {
      book.set_id("001"); //設(shè)置id屬性的值為001
      //使用Assert查看id屬性的值是否為001
      Assert.AreEqual("001", book.get_id());
      Console.WriteLine("id屬性被測(cè)試!");
    }

    /** @attribute Test() */
    public void testName()
    {
      book.set_id("ASP"); //設(shè)置name屬性的值為ASP
      //使用Assert查看name屬性的值是否為JSP,這是個(gè)必然出現(xiàn)錯(cuò)誤的測(cè)試
      Assert.AreEqual("JSP", book.get_name());
      Console.WriteLine("name屬性被測(cè)試!");
    }

    /** @attribute TearDown() */
    public void Dispose()
    {
      Console.WriteLine("book對(duì)象將被清理!");
      book = null;
      Console.WriteLine("測(cè)試結(jié)束!");
    }
  }
改好后,點(diǎn)擊菜單“調(diào)試”->“啟動(dòng)調(diào)試”或按F5鍵運(yùn)行程序。等等,main函數(shù)里頭好象一句代碼也沒(méi)寫(xiě)過(guò)呢吧?沒(méi)錯(cuò),一句也沒(méi)寫(xiě),不過(guò)你照做可以了。在看到黑屏一閃之后,編碼工作完成。
五、運(yùn)行NUnit
  編碼完成后,可以使用NUnit測(cè)試了。NUnit有兩種界面,一種是命令行的,一種是可視化的,我使用的是后者。點(diǎn)擊“開(kāi)始”菜單->“所有程序”->“NUnit-Net-2.0 2.2.6”->“NUnit-Gui”,打開(kāi)NUnit的可視化界面:

點(diǎn)擊菜單“File”->“Open”,打開(kāi)剛才運(yùn)行生成的可執(zhí)行文件:

此時(shí)可以使用BookTest類(lèi)對(duì)Book類(lèi)進(jìn)行測(cè)試了。請(qǐng)首先選擇testId,點(diǎn)擊“Run”按鈕,運(yùn)行結(jié)果如下圖:

testId前的灰點(diǎn)變綠,而且進(jìn)度條顯示為綠條,這表明運(yùn)行成功。下面再選擇BookTest,點(diǎn)擊“Run”按鈕,運(yùn)行結(jié)果如下圖:

testId前的點(diǎn)依然是綠色,但testName前的點(diǎn)是紅色,而且進(jìn)度條顯示為紅條,這表明testName中存在錯(cuò)誤。不過(guò)這個(gè)錯(cuò)誤是預(yù)計(jì)之內(nèi)的,如果不想看到,可以在vs中將testName()方法中的”JSP”改成”ASP”,然后重新運(yùn)行。此時(shí)無(wú)須重新啟動(dòng)NUnit,NUnit會(huì)自動(dòng)加載重新編寫(xiě)好的文件。此時(shí)再運(yùn)行BookTest,進(jìn)度條已不是紅色,而是綠色了。

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