使用cppunit簡直是惡夢啊
參考了這兩文:
配置和使用CPPUnit筆記http://dev.csdn.net/article/68/68259.shtm
便利的開發工具 CppUnit 快速使用指南http://www.devworkclub.com/bbs/FileView.php?id=200408051345330000
研究出來的使用步驟:
1. 編譯cppunit目錄/src/cppunit/CppUnitLibraries.dsw中的cppunit_dll項目,release版生成cppunit_dll.lib和cppunit_dll.dll,debug版生成cppunitd_dll.lib和cppunitd_dll.dll。這是CPPUnit基本類庫。
2. 編譯cppunit目錄/src/cppunit/CppUnitLibraries.dsw中的TestRunner項目。release版生成TestRunner.lib和TestRunner.dll,debug版生成TestRunnerd.lib和TestRunnerd.dll。這是使用MFC的圖形化界面的類庫。
3. 把所有lib文件放置到CommonFiles/Lib目錄下面。
或者
在VC中工具-》選擇-》目錄-》Library Files中將cppunit中的lib目錄放進來
4. 把dll文件放到相應的debug和release可執行目錄下面。
5.
6.vc中工程-》設置-》link
放入cppunitd_dll.lib
在“Projects/Settings.../C++/C++ Language”頁選中“Enable RTTI ”。
在“Projects/Settings.../C++/Code Generation”頁選擇“Use run-time library”中的內容:
Release版, 選擇"Mulithreaded DLL".
Debug版, 選擇 "Debug Multihreaded DLL".
7.可以引入宏AddingUnitTestMethod.dsm,可以方便生成測試框架
8.寫完待測試和測試類後,還要寫個main函數
提供的斷言:
CPPUNIT_ASSERT(condition) // 確信condition爲真
CPPUNIT_ASSERT_MESSAGE(message, condition) // 當condition爲假時失敗, 並打印message
CPPUNIT_FAIL(message) // 當前測試失敗, 並打印message
CPPUNIT_ASSERT_EQUAL(expected, actual) // 確信兩者相等
CPPUNIT_ASSERT_EQUAL_MESSAGE(message, expected, actual) // 失敗的同時打印message
CPPUNIT_ASSERT_DOUBLES_EQUAL(expected, actual, delta) // 當expected和actual之間差大於delta時失敗
運行方式:
CppUnit::TextUi::TestRunner // 文本方式的TestRunner
CppUnit::QtUi::TestRunner // QT方式的TestRunner
CppUnit::MfcUi::TestRunner // MFC方式的TestRunner
在VC中工具-》選擇-》目錄-》Include Files中將cppunit中的include目錄放進來