亚洲好骚综合-亚洲黄色录像-亚洲黄色网址-亚洲黄色网址大全-99久久99久久-99久久99久久精品国产

您的位置:軟件測試 > 開源軟件測試 > 開源單元測試工具 > cppUnit
如何使用CppUnit進行單元測試
作者:網絡轉載 發布時間:[ 2013/12/23 11:39:41 ] 推薦標簽:

一、前言

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

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

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

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

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

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

一. CppUnit的安裝

  從http://sourceforge.net/projects/cppunit CppUnit的源碼包. CppUnit是開源產品 , 當前高版本為1.12.0. (在上面的鏈接所指向的頁面上選擇 Development Snapshot ).

  下載后,將源碼包解壓縮到本地硬盤,例如解壓到E: cppunit-1.12.0。筆者把文件夾名稱中的版本號去掉,即源碼包解壓縮到E:cppunit。下載解壓后,你將看到如下文件夾:

  主要的文件夾有:

    doc: CppUnit的說明文檔。另外,代碼的根目錄,還有三個說明文檔,分別是INSTALL,INSTALL-unix,INSTALL-WIN32.txt;
    examples: CpppUnit提供的例子,也是對CppUnit自身的測試,通過它可以學習如何使用CppUnit測試框架進行開發;
    include: CppUnit頭文件;
    src: CppUnit源代碼目錄;
    config:配置文件;
    contrib:contribution,其他人貢獻的外圍代碼;
    lib:存放編譯好的庫;
    src:源文件,以及編譯庫的project等;

  接下來進行編譯工作。 在src/目錄下, 將CppUnitLibraries.dsw工程文件用vc 打開。執行build/batch build,編譯成功的話,生成的庫文件將被拷貝到lib目錄下。中途或者會有些project編譯失敗,一般不用管它,我們重點看的是cppunit和TestRunner 這兩個project的debug和release版本。

  編譯通過以后, 在lib/目錄下,會生成若干lib,和dll文件, 都以cppunit開頭. cppunitd表示debug版, cppunit表示release版。

  CppUnit為我們提供了兩套框架庫,一個為靜態的lib,一個為動態的dll。cppunit project:靜態lib;cppunit_dll project:動態dll和lib。在開發中我們可以根據實際情況作出選擇。

  你也可以根據需要選擇所需的項目進行編譯,其中項目cppunit為靜態庫,cppunit_dll為動態庫,生成的庫文件為:

    cppunit.lib:靜態庫release版;
    cppunitd.lib:靜態庫debug版;
    cppunit_dll.lib:動態庫release版;
    cppunitd_dll.lib:動態庫debug版;

  另外一個需要關注的project是TestRunner,它輸出一個dll,提供了一個基于GUI 方式的測試環境,在CppUnit下, 可以選擇控制臺方式和GUI方式兩種表現方案。兩種方案分別如下圖所示:

  我們選擇GUI方式,所以我們也需要編譯這個project,輸出位置亦為lib文件夾。

  要使用CppUnit,還得設置好頭文件和庫文件路徑,以VC6為例,選擇Tools/Options/Directories,在Include files和Library files中分別添加%CppUnitPath%include和%CppUnitPath%lib,其中%CppUnitPath%表示 CppUnit所在路徑。本文這里分別填的是E:CPPUNITINCLUDE和E:CPPUNITLIB。

上一頁12345下一頁
軟件測試工具 | 聯系我們 | 投訴建議 | 誠聘英才 | 申請使用列表 | 網站地圖
滬ICP備07036474 2003-2017 版權所有 上海澤眾軟件科技有限公司 Shanghai ZeZhong Software Co.,Ltd
主站蜘蛛池模板: free性xxxx| 超级碰碰永久免费视频播放 | 爽爽影院在线 | 亚洲va视频 | 欧美性爰视频 | 天天爱添天天爱添天天爱添 | 黄色免费网站观看 | 久草网免费 | 亚洲欧美一区在线 | 日韩在线观看视频网站 | 美女一级毛片无遮挡内谢 | 最近2019中文免费字幕 | 岛国在线播放v片免费 | 日本天堂在线观看 | 国产精品推荐天天看天天爽 | 成人国产精品 | 女bbbbxxxx毛片视频0 | 国产成人免费无庶挡视频 | 黄色香蕉视频网站 | 男女午夜性爽快免费视频不卡 | 三级视频国产 | 丝瓜着色的视频 | 日本精品影院 | 精品欧美一区二区三区精品久久 | 欧美日韩精品在线视频 | 日韩欧美理论 | 成人在线免费小视频 | 成人黄色在线网站 | 中文字幕不卡高清免费 | 免费性爱视频 | 亚洲三级在线看 | 性欧美video视频另类 | 五月激情久久 | 欧美日韩色视频在线观看 | 狠狠操狠狠色 | 亚洲伦理中文字幕一区 | 国产黄在线观看 | 日韩成人在线播放 | 色婷婷精品综合久久狠狠 | 色插视频| 2022精品福利在线小视频 |