CppUnit測試架構入門(1)

來源:互聯網
上載者:User
CppUnit測試架構入門(1)

Author: Cpluser
Website:http://blog.enjoyimage.com
Email:enjoyimage@163.com
Blog:http://blog.csdn.net/cpluser/

示範代碼下載

測試驅動開發(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/ 上下載。下載解壓後,你將看到如下檔案夾:

圖1

主要的檔案夾有:
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”,將會看到2所示介面:

圖2

這是一個針對CppUnit的單元測試結果,它表明剛才我們做了11個測試,全部通過。
點擊“Browse”,我們還可以選擇想要進行的單元測試,3:

圖3

CppUnit將所有的單元測試按照樹的結構來表示。在CppUnit中,最小的測試單元,稱為TestMethod測試方法,而多個相關的測試方法又可以組成一個TestCase測試案例。多個測試案例又組成TestSuite測試包。測試包互相嵌套在一起,就形成了上面我們看到的樹結構。我們可以選擇其中任意的樹節點來進行單元測試。
 
3、將CppUnitTestMain工程設定為Active Project(Win32 Debug),編譯並運行,我們來看看另一個單元測試的環境,4:

圖4

這是一個基於文本方式的單元測試環境。CppUnit提供了幾種測試環境,一種基於文本,一種基於GUI,即圖3。
 
4、將HostApp工程設定為Active Project(Win32 Debug),編譯運行。5:

圖5

這亦是一個對CppUnit自身進行的測試,只不過它向我們示範的是各種失敗的測試。在基於GUI的測試環境中,若測試不成功,進度條顯示紅色,反之則為綠色。從測試結果我們可以看到失敗的單元測試名稱,引起測試不能通過的原因,以及測試失敗的語句所在的檔案及所在行數。

(未完)

CppUnit測試架構入門(2)
 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.