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

  下面再看一下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("測試開始!");
        book = new Book();
        Console.WriteLine("book對象被初始化!");
      }

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

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

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

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

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

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

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

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

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

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

此時可以使用BookTest類對Book類進(jìn)行測試了。請首先選擇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中存在錯誤。不過這個錯誤是預(yù)計之內(nèi)的,如果不想看到,可以在vs中將testName()方法中的”JSP”改成”ASP”,然后重新運(yùn)行。此時無須重新啟動NUnit,NUnit會自動加載重新編寫好的文件。此時再運(yùn)行BookTest,進(jìn)度條已不是紅色,而是綠色了。

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