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

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

  • <strong id="5koa6"></strong>
  • CppUnit源碼解讀(1)

    發表于:2007-04-22來源:作者:點擊數: 標簽:cppunit一系列序言解讀源碼
    序言 這一系列的文章摘選自筆者的 《CppUnit源碼解讀》 。 CppUnit是一個用c++語言實現的Open Source的 單元測試 框架,屬于xUnit系列中的一員,是從JUnit移植過來的。 [引言] 如何將諸多技術綜合運用到一個實際的framework中來,筆者以為,CppUnit為我們提

    序言


    這一系列的文章摘選自筆者的《CppUnit源碼解讀》。 CppUnit是一個用c++語言實現的Open Source的單元測試框架,屬于xUnit系列中的一員,是從JUnit移植過來的。

    [引言]

    如何將諸多技術綜合運用到一個實際的framework中來,筆者以為,CppUnit為我們提供了一個難易適中的參考范例。這應該是一個很好的例子,因為它不甚復雜,卻匯聚了一個framework所必需的某些設計思想以及實現技巧。在這里,我們可以看到STL的靈活使用(包括一些簡單的traits技法),Design Pattern的綜合運用(比如:Composite,Factory,Decorator,Singleton,Observer等)。

    當然,也應該指出,由于CppUnit還在不斷改進中,其代碼中未免還有“敗筆”及不盡如人意之處。但是,瑕不掩瑜,并且從中我們也可以感受到一個成熟框架的演進過程。

    由于有過一點framework的設計經驗和體會,筆者在閱讀CppUnit源碼的過程中,時常能有共鳴,并且對于框架的設計者在某些細節的處理方法,也深以為然,偶爾也有“英雄所見略同”的感嘆。希望可以通過筆者的講解,使大家也能夠同樣有親歷之感。

    [CppUnit的簡單身世]

    CppUnit是xUnit系列中的c++實現版本,它是從JUnit移植過來的,第一個移植版本由Michael Feathers完成,相關信息可以在http://www.xprogramming.com/software.htm找到。它是操作系統相關的,隨后,Jerome Lacoste將之移植到了Unix/Solaris,在上述連接中也能找到該版本的相關信息。CppUnit項目就是基于這些版本建立起來的。有關CppUnit的討論可以在http://c2.com/cgi/wiki?CppUnit找到,在那里你還可以找到CppUnit先前的版本以及許多其它操作系統環境下的移植版本。這個庫受GNU LGPL(Lesser General Public License)的保護。作者包括:Eric Sommerlade (sommerlade@gmx.net),Michael Feathers (mfeathers@objectmentor.com),Jerome Lacoste (lacostej@altern.org),J.E. Hoffmann ,Baptiste Lepilleur ,Bastiaan Bakker ,Steve Robbins

    這里所選用的是CppUnit 1.8.0版,你可以從http://sourceforge.net/projects/cppunit/下載到最新版本。

    [CppUnit的總體構成]

    作為一個完整的CppUnit framework,雖然源碼所在的實際路徑可能不盡相關,但從邏輯上講它們被劃為如下幾個部分:

    上述所有的內容均被置于CppUnit名字空間之內。

    原文轉自: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>