亚洲好骚综合-亚洲黄色录像-亚洲黄色网址-亚洲黄色网址大全-99久久99久久-99久久99久久精品国产

您的位置:軟件測試 > 開源軟件測試 > 開源單元測試工具 > Nunit
在.NET環境中使用單元測試工具Nunit
作者:網絡轉載 發布時間:[ 2013/4/8 15:59:45 ] 推薦標簽:

  Test Attribute簡介

  Test attribute主要用來標示在text fixture中的method,表示這個method需要被Test Runner application所執行。有Test attribute的method必須是public的,并且必須return void,也沒有任何傳入的參數。如果沒有符合這些規定,在Test Runner GUI之中是不會列出這個method的,而且在執行Unit Test的時候也不會執行這個method。上面的程序代碼示范了使用這個attribute的方法。

  SetUp 和 Teardown Attributes簡介

  在寫Unit Tests的時候,有時你會需要在執行每一個test method之前(或之后)先作一些預備或善后工作。當然,你可以寫一個private的method,然后在每一個test method的一開頭或末端呼叫這個特別的method。或者,你可以使用我們要介紹的SetUp及Teardown Attributes來達到相同的目的。如同這兩個Attributes的名字的意思,有Setup Attribute的method會在該TextFixture中的每一個test method被執行之前先被Test Runner所執行,而有Teardown Attribute的method則會在每一個test method被執行之后被Test Runner所執行。一般來說,Setup Attribute及Teardown Attribute被用來預備一些必須的objects(對象),例如database connection、等等。上面的程序代碼示范了使用這個attribute的方法。

  ExpectedException Attributes簡介

  有的時候,你希望你的程序在某些特殊的條件下會產生一些特定的exception。要用Unit Test來測試程序是否如預期的產生exception,你可以用一個try..catch的程序區段來catch(捕捉)這個exception,然后再設一個boolean的值來證明exception的確發生了。這個方法固然可行,但是太花費功夫。事實上,你應該使用這個 ExpectedException attribute來標示某個method應該產生哪一個exception,如同下面的范例所示:

  namespace UnitTestingExamples
  {
  using System;
  using NUnit.Framework;

  [TestFixture]
  public class SomeTests
  {

  [Test]
  [ExpectedException(typeof(InvalidOperationException))]
  public void Test1()
  {

  // Do something that throws an InvalidOperationException

  }

  }

  }

  如果上面的程序被執行的時候,如果一旦exception發生,而且這個exception的type(類型信息)是 InvalidOperationException 的話,這個test會順利通過驗證。如果你預期你的程序代碼會產生多個exception的話,你也可以一次使用多個 ExpectedException attribute。但是,一個test method應該只測試一件事情,一次測試多個功能是不好的做法,你應該盡量避免之。另外,這個attributes并不會檢查inheirtance的關系,也是說,如果你的程序代碼產生的exception是繼承自InvalidOperationException 的subclass(子類化)的話,這個test執行的時候將不會通過驗證。簡而言之,當你使用這個attribute的時候,你要明確的指明所預期的 exception是哪個type(類型信息)的。

  Ignore Attributes簡介

  這個attribute你大概不會經常用的,但是一旦需要的時候,這個attribute是很方便使用的。你可以使用這個attribute來標示某個test method,叫Test Runner在執行的時候,略過這個method不要執行。使用這個Ignore attribute的方法如下:

  namespace UnitTestingExamples
  {
  using System;

  using NUnit.Framework;

  [TestFixture]
  public class SomeTests
  {

  [Test]
  [Ignore("We're skipping this one for now.")]
  public void TestOne()
  {

  // Do something...

  }

  }

  }

  如果你想要暫時性的comment out一個test method的話,你應該考慮使用這個attribute。這個attribute讓你保留你的test method,在Test Runner的執行結果里面,也會提醒你這個被略過的test method的存在。

  NUnit Assert Class簡介

  除了以上所提到的這些用來標示測試程序所在的attributes之外,NUnit還有一個重要的class你應該要知道如何使用。這個class是Assert class。Assert class提供了一系列的static methods,讓你可以用來驗證主要程序的結果與你所預期的是否一樣。Assert class代替了舊的Assertion class,下面是這個類的方法:

  Assert.IsTrue( bool );

  Assert.IsFalse( bool );

  Assert.IsNull( bool );

  Assert.IsNotNull( bool );

  Assert.AreSame( object, object )

  Assert.AreEqual( object, object );

  Assert.AreEqual( int, int );

  Assert.AreEqual( float, float, float );

  Assert.AreEqual( double, double, double );

  Assert.Fail();

上一頁1234下一頁
軟件測試工具 | 聯系我們 | 投訴建議 | 誠聘英才 | 申請使用列表 | 網站地圖
滬ICP備07036474 2003-2017 版權所有 上海澤眾軟件科技有限公司 Shanghai ZeZhong Software Co.,Ltd
主站蜘蛛池模板: 亚洲欧美日韩中文字幕在线 | 韩国成人影院 | 一级小视频 | 国产乱在线观看视频 | 国产一国产一级毛片视频 | 日韩在线视频中文字幕 | 高清国语自产拍免费视频国产 | 国产日皮 | 亚洲欧美日韩不卡一区二区三区 | 精品精品国产欧美在线观看 | 国产成人在线视频网站 | 99热色 | 国产视频一二 | 一级做a免费视频 | 在线看无码的免费网站 | 成人欧美网站 | 亚洲日本视频在线观看 | 成人男女网18免费91 | 国产日本欧美在线观看 | 好好的日视频www | 51av在线| 日韩电 影在线播放 | 黄色在线免费网站 | 91视频 88av| 日韩麻豆国产精品欧美 | 国产成人精品日本亚洲专区6 | 美女国内精品自产拍在线播放 | 欧美日韩三级在线观看 | 日本在线黄色网址 | 怡红院免费全部视频在线 | 精品久久久久久亚洲精品 | 五月婷婷狠狠干 | 日本ccc三级 | 国产haodiaose最新 | 免费a在线看 | 国产一级一级片 | 国产成人综合久久综合 | 欧美特黄视频在线观看 | 99热在线观看免费 | 成人一区二区免费中文字幕 | 日韩精品欧美激情国产一区 |