NUnit單元測試心得(2)

發表于:2014-04-03來源:博客園作者:jialege點擊數: 標簽:NUnit單元測試
三、如何在實際項目中應用單元測試(.Net項目為例) 1、以NUnit為例,示范幾個簡單的例子 2、單元測試的核心技術 樁對象,是對系統中現有外部依賴的一個

  三、如何在實際項目中應用單元測試(.Net項目為例)

  1、以NUnit為例,示范幾個簡單的例子

  2、單元測試的核心技術

  樁對象,是對系統中現有外部依賴的一個替代品,可人為控制

  模擬對象,模仿外部依賴,屬于一個偽對象,用于檢驗交互行為

  隔離框架

  NUnit標簽介紹

  [TestFixture],用于標識一個包含NUnit自動化測試的類

  [TestCase],用于標識測試方法為一個參數化測試

  [ExpectedException],用于標識被測試方法應該拋出異常

  [Test],用于標識一個需要被調用的自動化測試

  [SetUp],會在測試類中的每個測試運行之前執行

  [TearDown],會在測試類中的每個測試運行之后執行

  [TestFixtureSetUp],會在測試類中的所有測試運行之前執行

  [TestFixtureTearDown],會在測試類中的所有測試運行之后執行

  Assert類,用于證明某個假設是否成立

  Assert.IsTure(),用于驗證結果是否為true

  Assert.IsFalse(),用于驗證結果是否為false

  Assert.AreEqual(),用于驗證期望的對象是否與實際一樣

  Assert.AreSame (),用于驗證兩個參數引用是否為同一個對象

  解除外部依賴的技巧

  抽取接口,以允許替換底層實現

  在被測類中注入中注入偽對象的實現

  注入偽對象的幾種方法

  構造函數注入

  屬性注入

  方法參數(參數注入)

  工廠類注入

  局部工廠方法注入(不講)

  抽取和重寫注入

  屬性注入、參數注入和構造函數注入基本一致,只是注入的位置不一樣。屬性注入通過注入樁對象,參數注入通過方法的參數注入樁對象,下面看看工廠類注入

  上面的例子,講的都是樁對象的注入,其實模擬對象的注入跟樁對象是一樣的,關鍵是要弄清楚樁對象和模擬對象的區別

  樁對象的目的是解除外部依賴,為被測方法傳入一個可控制的對象,讓測試可以進行

  模擬對象的目的是測試方法是否向外界發送了信息,檢驗交互行為,所以單元測試檢驗的對象不再是被測方法,而是模擬對象

  隔離框架,用于快速生成樁對象和模擬對象,減少開發人員的負擔,常用的隔離框架有Rhion Mocks、Moq等等

原文轉自:http://www.cnblogs.com/jialege/p/3601184.html

国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97