CppUnit[1]是Micheal Feathers由JUnit移植過來的一個在GNU LGPL條約下的並在sourcefogre網站上開源的C++單元測試框架。(轉自百度)
本文是對cppunit的一個初步體驗,文章本着極端細致的原則,力求讓每個第一次接觸的人都能按照教程完整實現,同時文章也貼出了在這過程中所遇到的問題及其解決方法
我參考了這個,做了一些補充修改。http://www.cnblogs.com/abc123456789/p/3433401.html
1.首先來段windows版cppunit安裝教程:
1)首先下載cppunit最新版本(cppunit-1.12.1.tar.gz),解壓(如E:\ProgramFiles),文件夾目錄如下

2)對於vs2010,需要進行如下修改
(1)修改目標文件名
進入cppunit目錄下src文件夾,用vc程序(vs2010)打開CppUnitLibraries文件,提示需要轉換,選擇轉換,對於vs2010,需要進行額外的對目標文件夾的修改。
右鍵cppunit,選擇屬性,在彈出窗口將目標文件名由$(ProjectName)改成$(ProjectName)d,如下

同樣的將cppunit_dll的目標文件名改成cppunitd_dll

將DllPlugInTester改成$(ProjectName)d_dll
將TestPlugInRunner的改成$(ProjectName)d
將TestRunner的改成$(ProjectName)d
(2)修改DSPlugin
右鍵屬性à配置屬性à鏈接器à高級à無入口點,由“否”改成“是(/NOENTRY)”,如下

(3)最后再修改TestRunner
在vs中打開TestRunner\UserInterface\ MsDevCallerListCtrl.cpp,在67行中將version由7.0改成8.0,如下

3)接下來編譯生成lib庫
在vs中選擇生成-->批生成,全選后點擊生成,如下

過一會,等待編譯結束,這過程可能會有一些提示說錯誤或失敗,不用管,最后我的編譯結果如下

進入cppunit-1.12.1\lib文件夾,出現如下即可(我們在使用時主要使用cppunitd.lib,所以這個庫文件一定要有,我的生成7個文件)


到此windows版cppunit安裝編譯成功。
補充:
選擇Cppunit右鍵屬性 ->(debug)配置屬性->常規->目標文件名:$(ProjectName)修改成cppunitd(這樣做是為保持鏈接器->常規->目標文件名 一致);
選擇Cppunit右鍵屬性 ->(debug)配置屬性->常規->目標文件名:$(ProjectName)修改成cppunitd_dll(這樣做是為保持庫管理器->常規->目標文件名 一致);
要使用CppUnit,還得設置好頭文件和庫文件路徑,以VC6為例,選擇屬性/VC++目錄,在Include files和Library files中分別添加%CppUnitPath%/include和%CppUnitPath%/lib,其中%CppUnitPath%表示CppUnit所在路徑。
2. windows版 cppunit使用案例
1)cppunit自帶測試example
打開cppunit-1.12.1\examples\money文件夾的money.dsw文件
修改項目目標文件名
右鍵money工程名,配置屬性-->常規-->目標文件名,將$(ProjectName)改成$(ProjectName)d
運行money工程。F5或ctrl+f5調試,出現如下即ok
####我到這塊內存位置 0x001bf0bc 有異常。


2) 編寫一個簡單的Fibonacci的測試
(1)在vs2010中新建一個項目,配置如下

在工程中添加被測類的頭文件和cpp文件

結果及這兩個文件內容如下

到此被測函數的類就定義好了。
(2)接下來再添加一個用來測試Fibonacci類的項目,如下


(3)接下來首先在vs2010中配置測試項目的屬性:
右鍵測試項目(test_Fibonacci),選擇屬性,添加cppunit的庫文件和lib路徑

兩個都配置好后,內容應該如下

最后再添加cppunitd.lib鏈接庫,如下,確定即可

(4) 在測試項目(test_Fibonacci)中添加剛剛在項目Fibonacci項目中新建的兩個文件(fibonacci.h和fibonacci.cpp),添加后效果應該如下

這樣在頭文件中便包含了要測試的Fibonacci.h,源文件包含Fibonacci.cpp文件
(5) 編寫測試類頭文件和cpp文件
添加測試類頭文件和cpp文件,如下圖所示

test_Fibo.h和test_Fibo.cpp內容如下

(6) 最后在test_Fibonacci.cpp中編寫main函數,如下

將test_Fibonacci項目設為啟動項目,右鍵test_Fibonacci項目,選擇“設為啟動項目”。運行結果如下

考察如果結果不對,會不會報錯?
測試fibonacci(5)==9,則結果如下

到此win下使用結束
