使用 CPPUnit
你能在這里http://cppunit.sourceforge.net/得到新的CPPUnit 版本, 你能發(fā)現(xiàn)所有的庫 , 文獻, 例子和其它有趣的材料。(我下載了版本為1.8.0 并且這個頒布工作良好)
在Win32里, 你能在VC++ 之下(6.0 和以后版本)使用CPPUnit , 但是當CPPUnit 使用ANSI C++, 有少量接口時針對其它環(huán)境象C++Builder。
在CPPUnit發(fā)布版本里面,所有建造庫的步驟和信息,可以在INSTALL-WIN32.txt文件找到,。當所有二進制文件被構建之后, 你能寫你自己的測試集了。
想在VC中寫自己的測試程序,可以按照以下步驟:
建立一個MFC的對話框(或文檔視圖結構)
允許時間類型信息,Alt+F7 --> C/C++ --> C++ language --> Enable RTTI
把Cppunitinlude放到include目錄:Tools - Options - Directories - Include.
用cppunitd.lib (靜態(tài)連接) 或者cppunitd_dll.lib (動態(tài)鏈接),testrunnerd.lib來鏈接你的程序。
如果動態(tài)鏈接,要把testrunnerd.dll 拷到應用程序目錄來運行。
Ok,看一下測試用例的類的定義吧。
#if !defined(DISKDATA_TESTCASE_H_INCLUDED)
#define DISKDATA_TESTCASE_H_INCLUDED
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#include <cppunit/TestCase.h>
#include <cppunit/extensions/HelperMacros.h>
#include "DiskData.h"
class DiskDataTestCase : public CppUnit::TestCase
{
CPPUNIT_TEST_SUITE(DiskDataTestCase);
CPPUNIT_TEST(loadTest);
CPPUNIT_TEST(storeTest);
CPPUNIT_TEST_SUITE_END();
public:
void setUp();
void tearDown();
protected:
void loadTest();
void storeTest();
private:
DiskData *fixture;
};
#endif
首先, 必須包含TestCase.h和HelperMacros.h. 第一步,我們的從我們的Testcase基類配生的新類。第二,用一些宏使我們的定義的更方便,如 CPPUNIT_TEST_SUITE (開始測試定義), CPPUNIT_TEST (定義一個測試用例) 或 CPPUNIT_TEST_SUITE_END (結束一個測試集).
我們的類(DiskDataTestCase)有重載了兩個方法setUp()和tearDown(). 一個開始,一個結束測試。