• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
    • 軟件測試技術
    • 軟件測試博客
    • 軟件測試視頻
    • 開源軟件測試技術
    • 軟件測試論壇
    • 軟件測試沙龍
    • 軟件測試資料下載
    • 軟件測試雜志
    • 軟件測試人才招聘
      暫時沒有公告

    字號: | 推薦給好友 上一篇 | 下一篇

    .NET Compact Framework下的單元測試

    發布: 2009-5-21 09:32 | 作者: 網絡轉載 | 來源: 測試時代采編 | 查看: 40次 | 進入軟件測試論壇討論

    領測軟件測試網 本篇將講述.NET Compact Framework下的單元測試。在.NET Compact Framework下可以使用NUintLite進行單元測試。

      NUintLite是簡化版的NUnit,可以應用于.NET Compact Framework,Mono等平臺。

      生成NUnitLite庫

      NUintLite已經從codeplex遷移到launchpad.net/nunitlite,但是一直沒有release,所以本文使用最后的elease版本 NUnitLite-0.2.0.zip,下載地址為http://nunitlite.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=6568

      解壓源代碼,打開src\NUnitLiteCF目錄下的項目文件,編譯生成NUnitLite.dll。

      使用NUnitLite

      在使用NUnitLite的項目中添加對NUnitLite.dll的引用。在Main函數加入Test Runner

    static void Main(string[] args)

    {

                System.IO.TextWriter writer
    = new System.IO.StreamWriter("\\Test\\TestResult.txt");

                new NUnitLite.Runner.TextUI(writer).
    Execute(args);

                writer.
    Close();

    }

            NUnitLite的Test Runner支持不同的輸出,TextUI輸出到文件,ConsoleUI輸出到控制臺(Console),DebugUI輸出Debug信息,新版本還支持TcpUI把結果輸出通過TCP發送。

      下面以SqlCeHelper的單元測試作為例子。原文可見 .NET Compact Framework下SQL CE的使用

    using NUnit.Framework;

        
    [TestFixture]

        class SqlCeHelperTest

        {

            private SqlCeHelper sqlCe
    = new SqlCeHelper();

            
    [SetUp]

            
    public void SetUp()

            {

                sqlCe.
    Open();

            }

            
    [TearDown]

            
    public void TearDown()

            {

                sqlCe.
    Close();

            }

            
    [Test]

            
    public void Test()

            {

            }

        }

    編寫測試案例(Test Cases)必須定義Test Fixture,在NUnitLite里使用屬性[TestFixture]標識該類為Test Fixture。具體的測試就是該類的方法(Methods)。NUnitLite支持SetUp和TearDown,SetUp在執行測試案例之前先執行,用于初始化和分配資源,可以通過屬性[SetUp]指定SetUp方法;TearDown在執行完測試案例后執行,用于釋放相應的資源,可以使用屬性[TearDown]指定TearDown方法。屬性[Test]用于定義需要執行的測試案例,Test Runner會執行Test Fixture下所有的[Test]方法。

      下面為測試案例的編寫,也就是[Test]方法。

     [Test]

      
    public void ExecuteNonQueryTest()

      {

      
    int i = sqlCe.ExecuteNonQuery("delete from t");

      Assert.That(i,
    Is.GreaterThan(-1));

      i
    = sqlCe.ExecuteNonQuery("insert into t (f1, f2) values (1, 'abc')");

      Assert.That(i,
    Is.GreaterThan(-1));

      i
    = sqlCe.ExecuteNonQuery("update t set f2 = 'xyz' where f1 = 1");

      Assert.That(i,
    Is.GreaterThan(-1));

      }

      
    [Test]

      
    public void ExecuteReaderTest()

      {

      SqlCeDataReader reader
    = sqlCe.ExecuteReader("select * from t");

      Assert.NotNull(reader);

      Assert.True(!reader.IsClosed);

      
    while (reader.Read())

      {

      Assert.That(
    Is.Equals(reader["f2"], "abc"));

      }

      reader.
    Close();

      }

      
    [Test]

      
    public void ExecuteDataSetTest()

      {

      DataSet ds
    = sqlCe.ExecuteDataSet("select * from t");

      foreach (DataRow dr
    in ds.Tables[0].Rows)

      {

      Assert.That(dr
    ["f2"], Is.EqualTo("xyz"));

      }

      }

      
    [Test]

      
    [ExpectedException(typeof(ApplicationException))]

      
    public void ThrowsException()

      {

      throw new ApplicationException("an application exception");

      }

           在 NUnitLite中進行檢驗值還是使用Assert,但是不能使用NUnit下的AreEquels等判斷方法,需要使用Assert.That和Is 類組合完成AreEquels等判斷函數的功能。同時NUnitLite還是支持異常的捕捉(ExpectedException)。

    延伸閱讀

    文章來源于領測軟件測試網 http://www.kjueaiud.com/

    TAG: compact Compact framework Framework net NET Net 單元

    21/212>

    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
    北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備10010545號-5
    技術支持和業務聯系:info@testage.com.cn 電話:010-51297073

    軟件測試 | 領測國際ISTQBISTQB官網TMMiTMMi認證國際軟件測試工程師認證領測軟件測試網

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>