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

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

  • <strong id="5koa6"></strong>
  • 單元測試基礎知識

    發表于:2009-12-29來源:作者:點擊數: 標簽:
    單元測試基礎知識 單元測試工具 前言 本文是閱讀了《單元測試之道》一書后的筆記,也是公司安排本人進行單元測試培訓的材料,原文是一個Powerpoint,故修改了下,并針對Visual studio 2005自帶的單元測試做的一個整理,將其奉獻出來,目的是供需要了解和學習

            單元測試基礎知識   單元測試工具

      前言

      本文是閱讀了《單元測試之道》一書后的筆記,也是公司安排本人進行單元測試培訓的材料,原文是一個Powerpoint,故修改了下,并針對Visual studio 2005自帶的單元測試做的一個整理,將其奉獻出來,目的是供需要了解和學習單元測試的朋友們閱讀。如有錯誤望指出。

      什么是單元測試?

      單元測試是開發者編寫的一小段代碼,用于檢驗被測代碼的一個很小的、很明確的功能是否正確。通常而言,一個單元測試是用于判斷某個特定條件(或者場景)下某個特定函數的行為。例如,你可能把一個很大的值放入一個有序list 中去,然后確認該值出現在list 的尾部?;蛘?,你可能會從字符串中刪除匹配某種模式的字符,然后確認字符串確實不再包含這些字符了。

      執行單元測試,是為了證明某段代碼的行為確實和開發者所期望的一致。

      為什么需要單元測試?

      當編寫項目的時刻,如果我們假設底層的代碼是正確無誤的,那么先是高層代碼中使用了底層代碼;然后這些高層代碼又被更高層的代碼所使用,如此往復。當基本的底層代碼不再可靠時,那么必需的改動就無法只局限在底層。雖然你可以修正底層的問題,但是這些對底層代碼的修改必然會影響到高層代碼。于是,一個對底層代碼的修正,可能會導致對幾乎所有代碼的一連串改動,從而使修改越來越多,也越來越復雜。從而使整個項目也以失敗告終。

      而單元測試的核心內涵:這個簡單有效的技術就是為了令代碼變得更加完美。

      什么是斷言

      Assertion(斷言),它是一個簡單的方法調用,用于判斷某個語句是否為真。

      例如:

      public void IsTrue(bool condtion){

      if(!condition) abort();

      }

      應用則為:

      int a=2;

      IsTrue(a==2);

      還可以編寫更多的特定數據類型的斷言。

      計劃你的單元測試

      當我們編寫了一個如下的函數,它用于查找list中的最大值:static int Largest(int[] list);

      所能想到的測試如下:

    clearcase/" target="_blank" >cccccc; PADDING-BOTTOM: 0cm; BORDER-LEFT: black 1pt solid; WIDTH: 213.05pt; PADDING-TOP: 0cm; BORDER-BOTTOM: black 1pt solid" vAlign=top width=284>

    MILY: '微軟雅黑','sans-serif'">輸入

    預期結果

    7,8,9

    9

    8,9,7

    9

    9,7,8

    9

    7,9,8,9

    9

    1

    1

    -9,-8,-7

    -7

    null

    Exception

      創建單元測試

      在解決方案資源管理器中右擊某個測試項目,或在 Visual Studio 代碼編輯器中,右擊要測試的命名空間、類或方法并選擇“創建單元測試”。

    原文轉自:http://www.kjueaiud.com

    老湿亚洲永久精品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>