軟件測試之C++的單元測試

發表于:2009-04-13來源:作者:點擊數: 標簽:軟件測試單元
測試驅動開發 ( TD D)是以測試作為開發過程的中心,它堅持,在編寫實際代碼之前,先寫好基于產品代碼的測試代碼。開發過程的目標就是首先使測試能夠通過,然后再優化設計結構。測試驅動開發式是 極限編程 的重要組成部分。XUnit,一個基于測試驅動開發的 測
測試驅動開發(TDD)是以測試作為開發過程的中心,它堅持,在編寫實際代碼之前,先寫好基于產品代碼的測試代碼。開發過程的目標就是首先使測試能夠通過,然后再優化設計結構。測試驅動開發式是極限編程的重要組成部分。XUnit,一個基于測試驅動開發的測試框架,它為我們在開發過程中使用測試驅動開發提供了一個方便的工具,使我們得以快速的進行單元測試。XUnit的成員有很多,如JUnit,PythonUnit等。今天給大家介紹的CppUnit即是XUnit家族中的一員,它是一個專門面向C++的測試框架。

  本文不對CppUnit源碼做詳細的介紹,而只是對CppUnit的應用作一些介紹。在本文中,您將看到:

  1、CppUnit源代碼的各個組成部分。

  2、怎樣設置你的開發環境以能夠使用CppUnit。

  3、怎樣為你的產品代碼添加測試代碼(實際上應該反過來,為測試代碼添加產品代碼。在TDD中,先有測試代碼后有產品代碼),并通過CppUnit來進行測試。

  本文敘述背景為:CppUnit1.9.0, Visual C++ 6.0, Windows2000。文中敘述有誤之處,敬請批評指正。

  一、CppUnit源碼組成

  CppUnit測試框架的源代碼可以到http://sourceforge.net/projects/cppunit/上下載。下載解壓后,主要的文件夾有:
  • doc: CppUnit的說明文檔。另外,代碼的根目錄,還有三個說明文檔,分別是INSTALL,INSTALL-unix,INSTALL-WIN32.txt。
  • examples: CpppUnit提供的例子,也是對CppUnit自身的測試,通過它可以學習如何使用CppUnit測試框架進行開發。
  • include: CppUnit頭文件。
  • src: CppUnit源代碼目錄。

  二、初識CppUnit測試環境  解壓源代碼包后,您一定急著想看看CppUnit到底是個什么樣?Ok,下面我們就來揭開CppUnit的神秘面紗:

 

  1、進入example文件夾,用VC打開examples.dsw。我們先來看看CppUnit自帶的測試例子。這些例子都是針對CppUnit自身的單元測試集,一方面這是CppUnit作者開發CppUnit框架過程中寫的測試用例,另一方面,我們可以通過這些例子來學習如何在我們自己的工程中添加測試用例。

  2、將CppUnitTestApp工程設為Active Project(Win32 Debug),編譯后運行,則可以看到CppUnit的基于GUI方式進行單元測試TestRunner的界面。點擊“Run”, 這是一個針對CppUnit的單元測試結果,它表明剛才我們做了11個測試,全部通過。

  點擊“Browse”,我們還可以選擇想要進行的單元測試

  CppUnit將所有的單元測試按照樹的結構來表示。在CppUnit中,最小的測試單元,稱為TestMethod測試方法,而多個相關的測試方法又可以組成一個TestCase測試用例。多個測試用例又組成TestSuite測試包。測試包互相嵌套在一起,就形成了上面我們看到的樹結構。我們可以選擇其中任意的樹節點來進行單元測試。

 

原文轉自:http://www.anti-gravitydesign.com

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