qileilove

          blog已經(jīng)轉(zhuǎn)移至github,大家請(qǐng)?jiān)L問(wèn) http://qaseven.github.io/

          5分鐘實(shí)現(xiàn)VS2010整合NUnit進(jìn)行單元測(cè)試

           1、下載安裝NUnit(最新win版本為NUnit-2.6.0.12051.msi) http://www.nunit.org/index.php?p=download
            2、下載并安裝VS的Visual Nunit 2010 插件  http://visualstudiogallery.msdn.microsoft.com/c8164c71-0836-4471-80ce-633383031099
            注:可通過(guò)VS的“視圖”->“其他窗口”找到并打開(kāi)該插件(快捷鍵:Ctrl+F7)
            3、新建測(cè)試項(xiàng)目UnitTestApp(示例為簡(jiǎn)單的控制臺(tái)應(yīng)用程序),引入nunit.framework類庫(kù)(默認(rèn)安裝后文件所在路徑:C:\Program Files \NUnit 2.6\bin\framework\nunit.framewor.dll)
            4、添加Calculator類,實(shí)現(xiàn)一個(gè)簡(jiǎn)單加法和獲取單例方法
          namespace UnitTestApp
          {
          public class Calculator
          {
          public int Add(int a, int b)
          {
          return a + b;
          }
          private static readonly object objSync = new object();
          private static Calculator instance = null;
          public static Calculator GetInstance()
          {
          if (instance == null)
          {
          lock (objSync)
          {
          if (instance == null)
          {
          instance = new Calculator();
          }
          }
          }
          return instance;
          }
          }
          }
          5、新增NUnitTest類進(jìn)行單元測(cè)試
          using NUnit.Framework;
          namespace UnitTestApp
          {
          [TestFixture]
          public class NUnitTest
          {
          [Test]
          public void AddTest()
          {
          var calc = new Calculator();
          var result = calc.Add(1, 1);
          Assert.AreEqual(2, result);
          }
          [Test]
          public void AddTestFailure()
          {
          var calc = new Calculator();
          var result = calc.Add(1, 1);
          Assert.AreEqual(10, result);
          }
          [Test]
          public void SingtonTest1()
          {
          var calc = Calculator.GetInstance();
          Assert.IsNull(calc);
          }
          [Test]
          public void SingtonTest2()
          {
          var calc1 = Calculator.GetInstance();
          var calc2 = Calculator.GetInstance();
          Assert.IsTrue(object.Equals(calc1, calc2));
          }
          }
          }
            編譯控制臺(tái)項(xiàng)目,點(diǎn)擊Visual Nunit 插件的“Run”按鈕,然后一切清靜了。
            注:在上面的代碼中引用 NUnit.Framework,使用TestFixture標(biāo)注這是用于測(cè)試的類,在其中使用 Test表示具體的測(cè)試用例。可以看到單元測(cè)試中最重要的是斷言,其他完全交給框架自動(dòng)化。測(cè)試結(jié)果可以通過(guò)插件及時(shí)看到:

          posted on 2014-06-25 11:27 順其自然EVO 閱讀(225) 評(píng)論(0)  編輯  收藏 所屬分類: 測(cè)試學(xué)習(xí)專欄

          <2014年6月>
          25262728293031
          1234567
          891011121314
          15161718192021
          22232425262728
          293012345

          導(dǎo)航

          統(tǒng)計(jì)

          常用鏈接

          留言簿(55)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

          主站蜘蛛池模板: 沾益县| 射阳县| 诸城市| 海安县| 江都市| 合水县| 淮安市| 同德县| 丹阳市| 蓬溪县| 旅游| 鹰潭市| 宾阳县| 玉屏| 长春市| 郯城县| 商河县| 梁山县| 惠来县| 泌阳县| 河南省| 滨州市| 平远县| 肥西县| 隆尧县| 贵阳市| 舞钢市| 永康市| 布尔津县| 天峻县| 永丰县| 涿州市| 乳山市| 泽库县| 和平区| 临沂市| 淮滨县| 乐山市| 石阡县| 邢台县| 林甸县|