<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      [轉(zhuǎn)]使用Nunit進(jìn)行單元測試入門

       

      使用Nunit進(jìn)行單元測試入門

      前言:

      Nunit是一項開源的項目,利用Nunit,你可以方便快捷地對已有的.NET組件進(jìn)行單元測試。利用Nunit,你可以在不修改原有代碼的情況下,編寫專門的測試代碼對需要測試的函數(shù)和組件進(jìn)行測試。如果大家有興趣可以將NunitVSTS自帶的單元測試進(jìn)行比較:)

      正文:

      如果你的機器上沒有安裝Nunit,請先到http://www.nunit.org/download.html下載,并安裝到機器上。

      接下來,我們來看看究竟如何來使用Nunit進(jìn)行單元測試

      現(xiàn)在,我有這樣一個Account類:

      namespace bank

      {

          public class Account

          {

              private float balance;

              public void Deposit(float amount)

              {

                  balance += amount;

              }

              public void Withdraw(float amount)

              {

                  balance -= amount;

              }

              public void TransferFunds(Account destination, float amount)

              {

              }

              public float Balance

              {

                  get { return balance; }

              }

          }

      }

      但是我并不知道這個類是否可以正確地工作,所以我需要對Account類進(jìn)行單元測試。

      在可以新建一個類庫項目,在這個類庫的引用項目中指定Account.dll和Nunit.framework.dll。注意,Nunit.framework.dll文件在你安裝Nunit的bin目錄下。

      然后我在這個新建的類庫項目中添加一個AccountTest的類文件后編譯,該文件如下:

      namespace bank

      {

          using NUnit.Framework;

          [TestFixture]

          public class AccountTest

          {

              [Test]

              public void TransferFunds()

              {

                  Account source = new Account();

                  source.Deposit(200.00F);

                  Account destination = new Account();

                  destination.Deposit(150.00F);

                  source.TransferFunds(destination, 100.00F);

                  Assert.AreEqual(250.00F, destination.Balance);

                  Assert.AreEqual(100.00F, source.Balance);

              }

          }

      }

      請注意,這個測試類一定要是public的,否則Nunit無法正常工作。

      接下來,我們啟動Nunit(在你的桌面上有快捷方式的圖標(biāo)),然后在File -> Open Project中打開到你剛剛編譯出來的AccountTest.dll即可。這個時候,你會發(fā)現(xiàn)右邊有一個“Run”的按鈕可以使用了,點擊它,這個時候,Account類的單元測試就開始了。測試完畢后,出現(xiàn)紅色的標(biāo)志,這是測試失敗的標(biāo)志。這說明我們的Account類有問題,我們需要將Account類中的Withdraw方法完成:

      public void Withdraw(float amount)

      {

          balance -= amount;

      }

      重新編譯Account類以后,我們再次點擊“Run”按鈕,這個時候,紅色變成了綠色,這說明測試通過了。

      這樣,你便完成了對Account類的測試,接下來,我們來詳細(xì)說一說AccountTest類中奇怪的Attributes

      TestFixture

      這個Attribute只能在類上使用,他告訴Nunit這個類中包含有需要測試的方法。

      不過注意這個類保證一下4點:

      1.   這個類必須是Public的。

      2.   這個類不能是Abstract的。

      3.   這個類必須有一個默認(rèn)構(gòu)造函數(shù)。

      4.   這個類中的方法被標(biāo)記的Attribute只能出現(xiàn)一次:SetUp, TearDown, TestFixtureSetUp 和 TestFixtureTearDown。

      Test

      這個Attribute只能標(biāo)記了TestFixture的類中的方法上使用,他告訴Nunit這個是一個需要測試的方法。

      在下來就是AccountTest類中的TransferFunds方法中的Assert

      它類似與.NET Framework中的Assert類,如果Assert中的方法返回False,這測試結(jié)果為失敗,否則為成功。在Nunit中,就是使用Assert來判斷一個測試是否通過。

      好了,相信現(xiàn)在大家一定對Nunit的使用有了基本的了解了。那么,恭喜大家了。

      后記:

      Nunit是一個不斷完善的免費工具,但是這并代表他比VSTS自帶的單元測試工具差,他對VS的支持也是相當(dāng)不錯的,而且可以針對自己對測試的需要來自定義很多功能,同時對插件的支持也給了我們更大的空間來發(fā)揮Nunit的功能。

      關(guān)于更多更詳細(xì)的介紹,請大家查看Nunit的幫助文檔:)

       

      posted @ 2009-06-02 10:18  DukeCheng  閱讀(288)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 国产仑乱无码内谢| 无码高潮爽到爆的喷水视频app| 四虎影院176| 亚洲天堂男人天堂女人天堂| 被黑人伦流澡到高潮HNP动漫 | 宁乡县| 高清自拍亚洲精品二区| 国产高清精品一区二区三区| 人妻少妇不满足中文字幕| 国产精品多p对白交换绿帽| 一个色综合亚洲热色综合| 日韩中文字幕国产精品| 老熟妇性老熟妇性色| 豆国产97在线 | 亚洲| 国产国产久热这里只有精品| 妺妺窝人体色WWW看人体| 中文午夜乱理片无码| 99中文字幕国产精品| 久久99国产精品尤物| 果冻传媒色av国产在线播放 | 日韩精品中文字幕一线不卡| 天天做天天爱夜夜爽女人爽| 91人妻无码成人精品一区91| 天堂网av一区二区三区| 久久久久国产精品人妻电影| 高清偷拍一区二区三区| 国产精品熟妇视频国产偷人| 亚洲欧美在线观看一区二区| 国产精品亚洲二区在线看| 豆国产97在线 | 亚洲| 无码中文av波多野结衣一区| 国产成人综合色就色综合| 最新亚洲人成网站在线观看| 精品久久久无码人妻中文字幕| 国产精品亚洲二区在线看| 国内精品免费久久久久电影院97| 欧美日韩精品一区二区三区高清视频 | 国产AV福利第一精品| 国产午夜精品理论大片| 精品一区二区三区蜜桃久| 国产精品一区二区AV|